溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java面向?qū)ο笾鄳B(tài)的示例分析

發(fā)布時(shí)間:2021-12-30 15:15:06 來(lái)源:億速云 閱讀:122 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Java面向?qū)ο笾鄳B(tài)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

/**
	知識(shí)點(diǎn): 多態(tài) Polymorphism
		1. 對(duì)象的多態(tài)性
			分為三種: 方法的重載, 方法的覆蓋, 對(duì)象的向上向下轉(zhuǎn)型
		2. 基本類型的向上向下轉(zhuǎn)型
		3. 對(duì)象的向上向下轉(zhuǎn)型 : 必須發(fā)生在子類和父類之間
	注意:
		1. 子類對(duì)象 可以 轉(zhuǎn)換成父類對(duì)象 但是轉(zhuǎn)換后子類屬性和方法不可見
			當(dāng)再轉(zhuǎn)換成子類的時(shí)候 要強(qiáng)制類型轉(zhuǎn)換
		2. 如果直接實(shí)例父類然后 轉(zhuǎn)成子類不允許 報(bào)異常 ClassCastException
		3. 當(dāng)子類復(fù)寫了父類的方法, 子類轉(zhuǎn)成父類后 調(diào)用的是子類復(fù)寫的方法。
*/public class Polymorphism {	
	public static void main(String[] args) {		//類型的轉(zhuǎn)換
		byte a = 1;		int b = 100;		int c = 200;		//小類型 -> 大類型
		b = a;
		System.out.println(b);		//大類型 -> 小類型 必須經(jīng)過(guò)強(qiáng)制類型轉(zhuǎn)換 并且轉(zhuǎn)換以后可能丟失精度
		a = (byte) c;
		System.out.println(a);		//對(duì)象的向上向下轉(zhuǎn)型
		//對(duì)象向上轉(zhuǎn)型  子類對(duì)象 ->  父類對(duì)象   子類對(duì)象有些屬性和方法不可見
		//經(jīng)典語(yǔ)錄(子類是父類)  學(xué)生是人
		Person p = new Student("李明");
		p.say();		//對(duì)象向下轉(zhuǎn)型 父類對(duì)象 -> 子類對(duì)象 必須強(qiáng)制類型轉(zhuǎn)換
		// 人可以轉(zhuǎn)換成學(xué)生
		Student s = (Student) p;
		s.say();
		s.study();		//Student s2=(Student)new Person();
		//s2.say();
	}
}class Person {	
	public void say() {
		System.out.println("說(shuō)話");
	}
}class Student extends Person {	
	private String name;	public Student(String name) {		this.name = name;
	}	public void say() {
		System.out.println("說(shuō)英語(yǔ)");
	}	public void study() {
		System.out.println("學(xué)習(xí)");
	}
	
}

以上是“Java面向?qū)ο笾鄳B(tài)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI