久点
2017-05-13 11:51
com为demo5的父类
demo5 asd=new demo5(); //获得子类对象引用
com aaa=asd; //类型提升
我看有的写法是这样的:com aaa=new demo5();
我这样写也可以实现一样的效果啊:demo5 zzz=new demo5();
com aaa=new demo5();是把他的类型提升了,这样写有什么用
package com.hwadee.test;
public class Factory {
public void eat(Fruit fruit) {
if (fruit == null) {
System.out.println("没有原材料!!!");
}
else {
if (fruit instanceof Apple) {
Apple apple = (Apple) fruit;
apple.eat();
}
if (fruit instanceof Orange) {
Orange orange = (Orange) fruit;
orange.eat();
}
}
}
}
提升类型的主要应用是他可以接收它所有子类的对象,比如我们在测试类中定义一个方法需要一个类的所用子类都进行相同的操作,如果不提升类型我们就需要不断地重载方法,通过父类对象可以很好地解决这个问题。
Java入门第二季 升级版
530952 学习 · 6091 问题
相似问题