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

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

JAVA中pin什么意思_java语言中的多态概述

發布時間:2023/12/4 31 豆豆
默认站点 收集整理的這篇文章主要介紹了 JAVA中pin什么意思_java语言中的多态概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多態:一個對象相應著不同類型

多態在代碼中的體現:父類或接口的引用指向其子類對象。

多態的優點:

提高了代碼的擴展性,前期定義的代碼能夠使用后期的內容。

多態的弊端:

前期定義的內容不能使用后期子類中定義的特有內容。

多態的前提:

1,必須有關系,(繼承。實現)。

2,要有覆蓋。

Animal a =new Cat();

自己主動類型提升,貓對象提升了動物類型。可是特有功能無法訪問。能夠限制對特有功能的訪問。

專業講:向上轉型。將子類型隱藏。就不能使用子類的特有方法。

假設還想用詳細動物貓的特有功能,能夠將該對象進行向下轉型。目的是為了使用子類中的特有方法。

Cat c = (Cat) a;

注意:對于轉型,自始至終都是子類對象在做著類型的變化。

if (a instanceof Cat){

Cat c=(Cat) a;

}

instanceof:用于推斷對象的詳細類型(類或是接口)。僅僅能用于引用數據類型推斷。

通常在向下轉型前用于健壯性的推斷。

多態時,成員的特點:

1。成員變量

編譯時:參考引用型變量所述的類中是否有調用的成員變量,有,編譯通過,沒有編譯失敗。

執行時:參考引用型變量所述的類中是否有調用的成員變量,并執行該所屬類中的成員變量。

簡單說:編譯和執行都參考等號左邊。

2,成員函數(重點)非靜態

編譯時:參考引用型變量所述的類中是否有調用的成員函數,有,編譯通過,沒有編譯失敗。

執行時:參考的是對象所述的類中是否有調用的函數。動態綁定

簡單說:編譯看左邊,執行看右邊。

樣例:

class Outer

{

void method(){

Object obj =new Object(){

public void show(){

System.out.println("show run");

}

};

obj.show();//錯誤提示,找不到符號

//由于匿名內部類這個子類對象被向上轉型成了Object類型。這樣就不能再使用子類的特有方法了

}

}

class InnerClass

{

public static void main(String [] args)

{

new Outer().method();

}

}

3,靜態函數

編譯時:參考引用型變量所述的類中是否有調用的靜態方法,有,編譯通過。沒有編譯失敗。

執行時:參考引用型變量所述的類中是否有調用的靜態方法。

簡單說:編譯和執行都看左邊。

事實上對于靜態方法,是不須要對象的。直接用類名調用就可以。

總結

以上是默认站点為你收集整理的JAVA中pin什么意思_java语言中的多态概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。