亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中面向對象的多態介紹

發布時間:2020-06-22 10:36:06 來源:億速云 閱讀:138 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關java中面向對象的多態介紹,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

多態的簡單理解:

student類繼承了Person類,則student類的對象既是student又是person類

多態性具有兩種展現的形式:

1.方法的多態性:

(1)方法的重載:同一個方法可以根據傳入的參數的類型或者個數的不同實現不同的功能

(2)方法的覆寫:同一個方法可能根據實現子類的不同有不同的實現

2.對象的多態性:

父類與子類實例之間的轉換處理

(1)對象向上轉型:父類 父類實例 =new 子類實例();自動完成轉換

(2)對象向下轉型:子類 子類實例 =new (子類)父類實例();強制完成轉換

多態的最終體現:

1.為父類引用變量可以指向子類對象

2.多態的前提是必須有子父類關系或者類實現接口關系,否則無法實現多態

3.在使用多態后的父類引用變量調用方法時,會調用子類重寫后的方法

多態的成員變量:

1.編譯的時候,參考父類中喲沒有這個變量,如果有就編譯成功,如果沒有就編譯失敗

2.運行的時候,運行的是父類中的變量值

成員變量編譯運行皆看父類

多態的成員方法:

1.編譯的時候,參考父類中有沒有這個方法,如果有就編譯成功,如果沒有就編譯失敗

2.運行的時候。運行的是子類的重寫方法

成員方法編譯看父類,運行看子類

對象的兩種轉型方式的理解:

1.對象向上轉型:

向上轉型之后,子類對象只能調用父類擁有的方法,不能調用子類獨自擁有的方法,通過向上轉型實現多態性的使用

2.對象向下轉型:

如果對象向上轉型之后想要使用子類獨有方法而父類沒有的方法,需要使用對象的向下轉型

代碼演示:

public   class Person {
	public  void Eat(){
		//在person類中定義一個吃的抽象方法
	}
}

public class Student extends Person{
	public  void Eat(){
		System.out.println("學生吃學校食堂");//重寫父類中的抽象方法
	}
	public void Learning()
	{
		System.out.println("學生在學習");//定義一個student類特有的方法
	}
}
public class Test {
	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		Person p=new Student();//通過向上轉型定義一個p對象
		p.Eat();//這是子父類共有的方法
		p.Learning();
	}
}

在這個代碼中我們通過向上轉型調用了一個子類特有的方法,但是會提示如下圖:

java中面向對象的多態介紹

父類中沒有定義Learning方法。但是我們又必須調用子類的特有的方法,此時就需要通過向下轉型來實現

補充代碼如下:

Student stu=(Student)p;//將p對象向下轉型實現方法調用
		stu.Learning();

以上就是java中面向對象的多態介紹,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安新县| 洱源县| 灌阳县| 元朗区| 波密县| 九江县| 长兴县| 玛曲县| 建德市| 巧家县| 东丰县| 墨脱县| 依兰县| 安远县| 沙坪坝区| 井冈山市| 龙山县| 左云县| 巴彦县| 寿宁县| 赣榆县| 青阳县| 垦利县| 闽清县| 阜新市| 巴马| 曲松县| 宜都市| 定安县| 麟游县| 临颍县| 邯郸县| 汉中市| 宁都县| 延长县| 漳平市| 盐津县| 康保县| 怀远县| 遵义县| 宜川县|