java向上轉(zhuǎn)型發(fā)生的時(shí)機(jī)知識(shí)點(diǎn)詳解
1、直接賦值
public static void main(String[] args) {
//父類引用 引用了 子類引用所引用的對(duì)象
Animal animal = new Cat();;//向上轉(zhuǎn)型
}
2、方法傳參
把一個(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);
}
}
3、方法返回
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向上轉(zhuǎn)型發(fā)生的時(shí)機(jī)知識(shí)點(diǎn)詳解的文章就介紹到這了,更多相關(guān)java向上轉(zhuǎn)型發(fā)生的時(shí)機(jī)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot中使用?ThreadLocal?進(jìn)行多線程上下文管理及注意事項(xiàng)小結(jié)
本文詳細(xì)介紹了ThreadLocal的原理、使用場景和示例代碼,并在SpringBoot中使用ThreadLocal保存請求中攜帶的用戶信息,ThreadLocal通過為每個(gè)線程維護(hù)獨(dú)立的變量副本,解決了線程安全問題,感興趣的朋友一起看看吧2025-02-02
java 實(shí)現(xiàn)計(jì)數(shù)排序和桶排序?qū)嵗a
這篇文章主要介紹了java 實(shí)現(xiàn)計(jì)數(shù)排序和桶排序?qū)嵗a的相關(guān)資料,需要的朋友可以參考下2017-02-02
Java動(dòng)態(tài)代理實(shí)現(xiàn)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
動(dòng)態(tài)代理作為代理模式的一種擴(kuò)展形式,廣泛應(yīng)用于框架(尤其是基于AOP的框架)的設(shè)計(jì)與開發(fā),本文將通過實(shí)例來講解Java動(dòng)態(tài)代理的實(shí)現(xiàn)過程2017-08-08
java書店系統(tǒng)畢業(yè)設(shè)計(jì) 總體設(shè)計(jì)(1)
這篇文章主要介紹了java書店系統(tǒng)畢業(yè)設(shè)計(jì),第一步系統(tǒng)總體設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
在java List中進(jìn)行模糊查詢的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄趈ava List中進(jìn)行模糊查詢的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

