pei*_*ang 4 java inheritance private-methods
我对在继承中使用私有方法感到困惑,例如:
public class A {
private void say(int number){
System.out.print("A:"+number);
}
}
public class B extends A{
public void say(int number){
System.out.print("Over:"+number);
}
}
public class Tester {
public static void main(String[] args) {
A a=new B();
a.say(12);
}
}
Run Code Online (Sandbox Code Playgroud)
基于上面的代码,我感到困惑的私有方法的继承,是继承了私有方法class A来B?或者两个类中的say方法完全不相关?由于代码有当它在main()方法运行错误,好像class B不能调用从私有方法class A.
如果您希望子类可以访问需要保留的超类方法private,那么protected就是您要查找的关键字.
Private 只允许包含该成员的类访问该成员. Protected 允许在类及其所有子类中访问该成员.Public 允许任何人访问该成员.| 归档时间: |
|
| 查看次数: |
18440 次 |
| 最近记录: |