您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責(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)容。