java中超类和子类访问限权的改变,比如说超类的public在子类中也是public,还有默认的,private,和protec

java中超类和子类访问限权的改变,比如说超类的public在子类中也是public,还有默认的,private,和protected不是很清楚,请知道的朋友点拔一下。

java的四个访问修饰符可以用在变量,方法和类上。修饰符的作用是限制某个类的行为(访问不属于自己的资源)。
public(完全开放) :一个项目(project)里的所有类都能访问,不管是否同包。
protected(受保护的):同一个包内的类可以访问,且位于不同包的这个类的子类和间接子类里也能访问。
default(包权限):只有位于一个包内的类能访问。
private(私有的):只有在类定义时,由该类的成员访问。一种特殊情况,如果该类有内部类,在内部类中能访问。子类不能继承父类私有的成员。
另外,需要注意:
1. 方法或变量可以被四个修饰符中任意一个修饰。
2. 一般情况下,类只能加public 或默认修饰符,但内部类除外。追问

这些我知道,但是父类变量在子类中的访问限权不是很清楚,举个例子,父类的private变量在子类中会是private还是什么?到孙类又是什么?

追答

父类变量的访问权限是什么,其子类继承下来就是什么,子类的子类继承下来当然还是不变……需要注意的是,子类是无法继承父类的private变量的。至于孙子,儿子都没有获得真传,孙子就更加没机会了。

追问

嗯,明白了,谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答