java學習-多型
阿新 • • 發佈:2018-11-08
1、類的繼承關係
1.1 PDemo2.java
public class PDemo2 {
public void say(){
System.out.println("PDemo2 say().....");
}
}
1.2 CDemo2.java
public class CDemo2 extends PDemo2 { public void eat(){ System.out.println("CDemo2 eat()...."); } public void say(){ System.out.println("CDemo2 say()...."); } }
2、測試
public class ExtendsDemo { public static void main(String[] args){ ExtendsDemo.test1(new CDemo2()); ExtendsDemo.test2(new CDemo2()); } public static void test1(PDemo2 demo2){ demo2.say(); } public static void test2(PDemo2 demo2){ ((CDemo2)demo2).eat(); } }
2.1 輸出結果
CDemo2 say()....
CDemo2 eat()....
2.2 總結
1、子類可以自動向上轉型為父類
2、方法引數傳遞為引用傳遞,儘管引數是父類,但是其引用仍然指向的是子類。因此當方法重寫後,傳入的是誰就呼叫誰的方法。
3、如果父類可以被強制轉換為子類,並執行子類的方法
本文是學習過程中的思考和總結,如果請大家多多指正!