我剛剛開始學習java ::繼承和混淆,同時混合上演。爲什麼重寫的方法從子類調用,如果我做了上演?
class Example{
public void methodOne(){
System.out.println("Example::Method_1");
}
public void methodTwo(){
System.out.println("Example::Method_2");
}
}
public class Test extends Example{
public void methodTwo(){ //Method overriding
System.out.println("Test::Method_2");
}
public void methodThree(){
System.out.println("Test::Method_3");
}
public static void main(String[] args){
Example exa = new Test(); // UpCasting
exa.methodOne(); // Printing Example::Method_1
exa.methodTwo(); // Printing Test::Method_2
// exa.methodThree(); // Error : can not find symbol
}
}
可能有人請解釋,這裏發生了什麼?
你可能想用'@ Override'註釋來標記一個方法正在覆蓋 – baao
我是初學者,所以對於任何錯誤都抱歉,這裏我想知道爲什麼子類方法在調用方法時被調用? –