日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中多态的例子_java中的多态案例

發布時間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中多态的例子_java中的多态案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多態性實際上有兩種:

1.方法的多態性:

1.1方法重載:相同的方法名,會根據傳入的參數的類型和個數不同執行不同的方法

1.2方法覆寫:同一個方法名稱,會根據子類的不同實現不同的功能

2.對象的多態性:指的是發生在類的繼承中,子類和父類之間相互轉換

1.1向上轉型(自動完成):父類 父類對象 = 子類實例

2.2向下轉型:子類 子類對象 =(父類)父類實例;

由于父類可以有多個子類,而一個子類所擁有的父類個數不會太多,向上轉型不會出現編譯錯誤,而向上轉型有可能出現編譯時候的錯誤

class A{

public void print(){

System.out.println("A中的方法");

}

}

class B extends A{

public void print(){

System.out.println("B中的方法");

}

}

public class Test{

public static void main(String args[]){

A a =new A();

B b = (B) a;

b.print();

}

}

/*

Exception in thread "main" java.lang.ClassCastException: A cannot be cast to B

at Test.main(Test.java:14)

*/

以上的代碼出現了類轉換的異常,指的是兩個兩個沒有關系的類對象發生強制的向下轉型所帶來的異常,

instanceof關鍵字的使用;該關鍵字主要是判斷某個對象是否是一個類的實例:

對象 instanceof 類//返回的是boolean

classA{public voidprint(){

System.out.println("A中的方法");

}

}class B extendsA{public voidprint(){

System.out.println("B中的方法");

}

}public classTest{public static voidmain(String args[]){

A a= newB();if(a instanceofB){

B b=(B)b;

}

b.print();

}

}

注意點:向下轉型發生之前,一定要先發生對象的向上轉型

范例:向上轉型實例

classA{public voidprint(){

System.out.println("A中的方法");

}

}class B extendsA{public voidprint(){

System.out.println("B中的方法");

}

}public classTest{public static voidmain(String args[]){

A a= new B();//向上轉型

a.print();//B中的方法

}

}

總結

以上是生活随笔為你收集整理的java中多态的例子_java中的多态案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。