Java多态简单复习

Java的多态

复习一下

什么是多态?

简单来说,多态就是同一个接口,使用不同的实例(不同的实现类创建的实例)而执行不同操作。

(除了使用接口,多态的实现还可以是子类对父类的方法重写,或是抽象类与抽象方法)

多态存在的三个必要条件?

1)继承
2)重写
3)父类引用指向子类对象 Parent parent = new Child();


多态的一个特性:

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。


多态的好处:

可以使程序有良好的扩展,并可以对所有不同的实现类的对象进行通用处理。

// Animal接口
public interface Animal {
    void voice();
}

//实现类1:Dog
public class Dog implements Animal{
    @Override
    public void voice() {
        System.out.println("wangwang");
    }

    public void introduce(){
        System.out.println("我是一条狗");
    }
}

//实现类2:Cat
public class Cat implements Animal{
    @Override
    public void voice() {
        System.out.println("miaomiao");
    }

    public void introduce(){
        System.out.println("我是一只猫");
    }
}

//实现类3:Bird
public class Bird implements Animal{
    @Override
    public void voice() {
        System.out.println("zhazha");
    }

    public void introduce(){
        System.out.println("我是一只鸟");
    }
}

Animal animal = new Dog();
此时,animal可以使用voice()函数,并发出“wangwang”的声音;但不能使用Dog类中的introduce()函数,因为创建对象时类型是Animal,只有Animal接口中的函数可以使用,使用时调用的是Dog类中的voice(),因为创建的对象是Dog。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值