我对在继承中使用私有方法感到困惑,例如:
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);
}
}
基于上面的代码,我感到困惑的私有方法的继承,是继承了私有方法class A
来B
?还是两个类中的say方法完全无关?由于代码在main()方法中运行时出错,因此似乎class B
无法从中调用私有方法class A
。
如果您希望子类访问需要保留的超类方法private
,那么protected
您正在寻找的关键字。
Private
只允许包含该成员的类访问该成员。 Protected
允许在类及其所有子类中访问成员。Public
允许任何人访问该成员。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句