您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java多態(tài)向上轉(zhuǎn)型的方法”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Java多態(tài)向上轉(zhuǎn)型的方法”文章能幫助大家解決問題。
public static void main(String[] args) {
//父類引用 引用了 子類引用所引用的對(duì)象
Animal animal = new Cat();;//向上轉(zhuǎn)型
}
把一個(gè)Cat的子類傳給一個(gè)Animal類型的父類,這里也是能發(fā)生向上轉(zhuǎn)型的。
public class Test extends TestDemo {
public static void func(Animal animal) {
}
public static void main(String[] args) {
//父類引用 引用了 子類引用所引用的對(duì)象
Cat cat = new Cat();
func(cat);
}
}
func方法的返回類型是Animal,但返回的確是一個(gè)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();
}
}
實(shí)例擴(kuò)展:
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();此方法不能編譯,報(bào)錯(cuò)說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多態(tài)向上轉(zhuǎn)型的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。