abstract class A {
public void methodA() {
System.out.println("methodA");
methodB();
showName();
}
public abstract void methodB();
public void showName() {
System.out.println("in showname base");
}
}
class B extends A {
public void methodB() {
System.out.println("methodB");
}
public void showName() {
System.out.println("in showname child");
}
}
public class SampleClass {
public static void main(String[] args) {
A a = new B();
a.methodA();
}
}
输出是:为什么按此顺序输出?
了methodA
的methodB
在showname孩子
问题: -
由于覆盖,对象类型被认为。这是不是类B的showName()方法被称为不是类A的原因?如果不是那么这个输出命令的原因是什么?
请格式化你的代码。 – 2012-08-06 18:47:08
嘿保罗,我很抱歉,但我不知道如何格式化它。 – Jaikrat 2012-08-06 18:48:44
我们应该在这里回答关于学校作业气味的问题吗? – Steve 2012-08-06 18:49:11