JAVA中protected的作用

Python019

JAVA中protected的作用,第1张

类NewObject中有protected修饰的方法或者属性,可在同一个包里的子类中实例化NewObject类获得对象,然后可用该对象访问protected修饰的方法或者属性,即操作访问。

可在同一个包里的非子类中实例化NewObject类的子类(该子类和NewObject类在同一个包中)获得对象,然后可用该对象访问protected修饰的方法或者属性。

可在非同一个包里的NewObject类的子类中调用NewObject类中protected修饰的方法或者属性,即protected修饰的方法和属性可被不同一个包中的子类继承。

java中的访问控制权限,类的访问范围。A、public修饰类,表示该类在所有包中可见。B、(default)修饰类,表示该类仅在同一个包中可见。不能用protected和private修饰类成员变量及成员方法的访问范围。

protected为访问控制符,意思为受保护的,其开放程度仅次于public。

说明:

1、protected访问控制符能被用于方法和成员变量。

2、声明为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样。

3、能被该类的子类所访问,子类可以和父类不在一个包中。

这样,当你想让一个类中的某个方法或成员变量在包中都可见,而且其子类也能访问(子类有可能和父类不在同一个包中)但又不想让所有类都可以访问该类时,就可以用protected修饰符。

需要注意的是在另一个包中的子类可以通过子类或其子类的引用来访问超级类中的受保护的成员。在同一包中的子类没有这个限制。这确保了来自其他包的类只访问其继承层次结构中的一部分的成员。

java中的访问控制权限\x0d\x0a类的访问范围\x0d\x0aA、public修饰类,表示该类在所有包中可见\x0d\x0aB、(default)修饰类,表示该类仅在同一个包中可见\x0d\x0a不能用protected和private修饰类\x0d\x0a\x0d\x0a成员变量及成员方法的访问范围\x0d\x0aA、public包内、包外,所有类中可见\x0d\x0aB、protected包内所有类可见,包外有继承关系的子类可见\x0d\x0a(子类对象可调用)\x0d\x0aC、(default)表示默认,不仅本类访问,而且是同包可见。\x0d\x0aD、private仅在同一类中可见