1、直接賦值
public static void main(String[] args) {
//父類(lèi)引用 引用了 子類(lèi)引用所引用的對(duì)象
Animal animal = new Cat();;//向上轉(zhuǎn)型
}
2、方法傳參,把一個(gè)Cat的子類(lèi)傳給一個(gè)Animal類(lèi)型的父類(lèi),這里也是能發(fā)生向上轉(zhuǎn)型的。
public class Test extends TestDemo {
public static void func(Animal animal) {
}
public static void main(String[] args) {
//父類(lèi)引用 引用了 子類(lèi)引用所引用的對(duì)象
Cat cat = new Cat();
func(cat);
}
}
3、方法返回,func方法的返回類(lèi)型是Animal,但返回的確是一個(gè)Cat類(lèi)型,這里也是發(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();
}
}
以上就是 java向上轉(zhuǎn)型發(fā)生的時(shí)機(jī),希望對(duì)大家有所幫助。更多關(guān)于“java培訓(xùn)”的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。