java向上轉(zhuǎn)型發(fā)生的時機知識點詳解
public static void main(String[] args) {//父類引用 引用了 子類引用所引用的對象Animal animal = new Cat();;//向上轉(zhuǎn)型}2、方法傳參
把一個Cat的子類傳給一個Animal類型的父類,這里也是能發(fā)生向上轉(zhuǎn)型的。
public class Test extends TestDemo { public static void func(Animal animal) { } public static void main(String[] args) {//父類引用 引用了 子類引用所引用的對象Cat cat = new Cat();func(cat); }}3、方法返回
func方法的返回類型是Animal,但返回的確是一個Cat類型,這里也是發(fā)生了向上轉(zhuǎn)型。
public class Test extends TestDemo { public static Animal func() {Cat cat = new Cat();return cat; } public static void main(String[] args) {Animal animal = func(); }}
實例擴展:
package multistate;public class Human { public void sleep() {System.out.println('Human sleep..'); } public static void main(String[] args) {Human h = new Male();// 向上轉(zhuǎn)型h.sleep();Male m = new Male();// 干嘛要向上轉(zhuǎn)型m.sleep();// h.speak();此方法不能編譯,報錯說Human類沒有此方法 }}class Male extends Human { @Override public void sleep() {System.out.println('Male sleep..'); } public void speak() {System.out.println('I am Male'); }}class Female extends Human { @Override public void sleep() {System.out.println('Female sleep..'); } public void speak() {System.out.println('I am Female'); }}
到此這篇關(guān)于java向上轉(zhuǎn)型發(fā)生的時機知識點詳解的文章就介紹到這了,更多相關(guān)java向上轉(zhuǎn)型發(fā)生的時機內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP中常用的22個FSO文件操作函數(shù)整理2. 無線標記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁3. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp4. .Net core 的熱插拔機制的深入探索及卸載問題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動的6種方法示例7. asp的SQL語句中and和or同時使用的注意事項8. 讀大數(shù)據(jù)量的XML文件的讀取問題9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析10. React+umi+typeScript創(chuàng)建項目的過程
