4 回答

TA贡献1757条经验 获得超8个赞
private子类无法访问成员。
子类应将这些成员的初始值从其构造函数传递到超类构造函数,或者您可以使用 getter 和 setter 方法来访问和修改子类中的成员。public
public void createAssignment(int pages)
{
setPages(pages);
setType("Trigonometry");
}

TA贡献1827条经验 获得超8个赞
私有意味着某些内容只能在类内部访问,而在其他任何地方都无法访问,即使在子类中也是如此。您期望的行为可以通过使用“受保护”关键字而不是“私有”来实现。如
protected int pages;
而不是
private int pages;
我认为关于公共隐私和保护的另一个问题将有所帮助。
David S.和Drew的回答:
官方教程可能对您有所帮助。
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │ + │ + │ + │ │
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ │ │ │
+ : accessible blank : not accessible
添加回答
举报