使用多态的好处与对象的向上转型

使用多态的好处

 

 

 

如果不用多态,只用子类,那么写法是::Teacher one = new TeacherO;
one.workO; 1/讲课
Assistant two = new AssistantO:,two.workO;1/辅导
;我现在唯一要做的事情,就是调用work方法,其他的功能不关心。
如果使用多态的写法,对比一下:
Employee one = new TeacherO;
ione.workO; //讲课
Employee two = new AssistantO;
two.workO; 1/辅导
好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会变化。

这样搞的话可以让我们的代码更加灵活

 

 
引用类型转换
多态的转型分为向上转型与向下转型两种:
向上转型
向上转型:多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。
当父类引用指向一个子类对象时,便是向上转型。
使用格式:
父类类型 变量名 = new 子类类型();
如:Animal a = new Cat();

1.对象的向上转型,其实就是多态写法:格式:父类名称对象名= new子类名称0;
Animal animal = new Cato;
含义:右侧创建一个子类对象,把它当做父类来看待使用。
创建了一只猫,当做动物看待,没问题。
注意事项:向上转型一定是安全的。从小范围转向了大范围,从小范围的猫,向上转换成为更大范围的动物。
类似于:
double num = 100;//正确,int --> double,自动类型转换。

 

 向上转型

package day01.quanbus1;

public abstract class Animal {
    public abstract void eat();
}

 

package day01.quanbus1;

public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
}

 

package day01.quanbus1;

public class Demo01Main {
    public static void main(String[] args) {
        //对象的向上转型就是父类应用指向之类对象

        Animal animal =new Cat();
        animal.eat();
    }
}

 

 

posted @ 2022-07-04 15:34  zj勇敢飞,xx永相随  阅读(90)  评论(0编辑  收藏  举报