超类/子类继承范围验证



注意:请在错误将其标记为重复之前阅读整个内容。

所以我不确定这是否是写作,我找不到一个简单的图表来回答: - 确实是,如果您在超级类中有公共,受保护或软件包的私有方法或字段,并且子类位于同一软件包中,则包装外部或包装中的类可以通过新的子类对象访问这些方法或字段如果字段或方法是私有的,那么它不能? - 确实是,如果您在超级类中有公共或受保护的方法或字段,并且子类位于其他软件包中,则包装外部或包装中的类可以通过新的子类对象访问这些方法或字段字段或方法是私有的,或者是私人的,然后不能?

换句话说,所有访问组合(32组组合)的:公共,受保护,私有和私有方法,用于方法,字段,用于同一或不同的软件包,通过类在一个中创建子类对象的类访问在相同或不同的软件包中上课。请注意,这个问题和"重复"之间的主要区别在于,我想知道包装内部/外部的非次数访问。不只是子类内部的东西。重复项不够具体,因为有一些小规则不如4 x 2表那么简单。例如,对于受保护的,软件包之外的子类无法在超级类对象上运行超级类方法,而只能在子类对象上运行。像这样的小事情在"重复"中没有回答。

,在将其标记为重复之前,您都可以阅读整个dang的东西。我解释了为什么不是,但是Lazies并没有阅读整个内容,也没有回答问题。

我在文档上找到了此表:

                  Access Levels
Modifier    Class Package Subclass World
public        Y      Y        Y      Y
protected     Y      Y        Y      N
no modifier   Y      Y        N      N
private       Y      N        N      N


根据我的经验:

public :任何类都可以访问
受保护:仅在同一软件包中的类继承该类可以访问
私有:只有类才能访问。子类无法访问其父母的私人字段/方法。

Docs

最新更新