【发布时间】:2009-11-15 17:20:53
【问题描述】:
class A {
public void talk(){
this.sayIt();
}
private void sayIt(){
System.out.println("class A says...");
}
}
class B extends A {
private void sayIt(){
System.out.println("class B says...");
}
}
测试类,主要方法:
B b = new B();
b.talk()
//output
class A says...
我无法得到这个,因为:
B 类 继承自 A 类,公共成员,不能看到/继承私有函数。所以在class B中,我们可以调用talk()。 //因为是被父类继承的。
现在,在 talk() 方法中,有一个对 sayIt() 的调用,因为 sayIt() 在 B类,
我希望在执行 this.sayIt() 时调用 B.sayIt()。
“this”不是指B类吗?
请解释一下。
【问题讨论】:
-
那个
talk方法不在类B中。
标签: java inheritance