4 回答
TA貢獻1757條經(jīng)驗 獲得超8個贊
private子類無法訪問成員。
子類應將這些成員的初始值從其構(gòu)造函數(shù)傳遞到超類構(gòu)造函數(shù),或者您可以使用 getter 和 setter 方法來訪問和修改子類中的成員。public
public void createAssignment(int pages)
{
setPages(pages);
setType("Trigonometry");
}
TA貢獻1827條經(jīng)驗 獲得超8個贊
私有意味著某些內(nèi)容只能在類內(nèi)部訪問,而在其他任何地方都無法訪問,即使在子類中也是如此。您期望的行為可以通過使用“受保護”關(guān)鍵字而不是“私有”來實現(xiàn)。如
protected int pages;
而不是
private int pages;
我認為關(guān)于公共隱私和保護的另一個問題將有所幫助。
David S.和Drew的回答:
官方教程可能對您有所幫助。
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │ + │ + │ + │ │
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ │ │ │
+ : accessible blank : not accessible
TA貢獻1784條經(jīng)驗 獲得超2個贊
因為私有實例變量只能在創(chuàng)建它們的類中訪問。如果創(chuàng)建子類,則需要利用受保護的實例變量。因此,您必須公開變量或最好受到保護。
添加回答
舉報
