java访问修饰符
没有任何修饰符(默认修饰符)只能从同一个包中访问,并且不能与子类一起访问 如果子类在同一个包中呢?子类是否可以访问它 如果子类在同一个包中呢?子类是否可以访问它 对。“不使用子类”只是“子类不能自动访问它”——它不像是显式地阻止子类访问它 有关详细信息,请参阅。特别是: 否则,我们说存在默认访问,只有在从声明类型的包中进行访问时才允许默认访问 无法从同一个包访问任何修改器(默认修改器) 仅适用于子类,而不适用于子类 是的,它是可访问的,在同一个包中的所有类中没有可访问的修改器(默认修改器)java访问修饰符,java,Java,没有任何修饰符(默认修饰符)只能从同一个包中访问,并且不能与子类一起访问 如果子类在同一个包中呢?子类是否可以访问它 如果子类在同一个包中呢?子类是否可以访问它 对。“不使用子类”只是“子类不能自动访问它”——它不像是显式地阻止子类访问它 有关详细信息,请参阅。特别是: 否则,我们说存在默认访问,只有在从声明类型的包中进行访问时才允许默认访问 无法从同一个包访问任何修改器(默认修改器) 仅适用于子类,而不适用于子类 是的,它是可访问的,在同一个包中的所有类中没有可访问的修改器(默认修改器) Mo
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
为什么投票被否决?这是一个有效且可回答的问题+1作为部分补偿。>默认值-仅同一软件包(表示同一软件包内的任何类/子类)。您可以检查@var__;以便class1和class2位于不同的包中,如果class2扩展了class1,则无法准确访问默认的修饰符变量/方法?@masood。甚至你也可以试试;)@安德烈霍姆普森谢谢你!所以class1和class2在不同的包中,如果class2扩展了class1,它就不能访问默认的修饰符变量/方法?@masood:是的。问之前你试过了吗?没有。只是来确认一下它的进一步含义。谢谢我接受了
pkg1;
class CWithDefAccess{
}
pkg1;
public class anotherclass {
//can access CWithDefAccess as they are in the same package
}
pkg1;
public class Foo extends CWithDefAccess {
//can access CWithDefAccess as they are in the same package
}
pkg1;
public class Baz extends anotherClass{
//can access CWithDefAccess as they are in the same package
}