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