Java 多态简单介绍

多态:​​​​​​​

多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才能确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是那个类中实现方法的,必须在程序运行期间才能决定。

实现:声明成父类类型,指向不同的子类对象,能实现不同的重写方法

这就是多态,那这句话什么意思呢我们通过一个例子介绍

如上图是加减乘除的实现:

    父类定义两个 num 和一个geResult()方法,此方法并没有具体实现

public int getResult() {
        return 0;
    }

    加减乘除四个子类继承父类Cal并重写geResult()方法

    如在类Add中:

@Override
public int getResult() {
    return num1 + num2;
}

    接下来在调用函数中,声明成子类类型,new 子类对象调用getResult()方法

    如果子类重写了getResult()方法,调用的就是子类中的方法

    如果没有重写,调用的就是父类中的方法

Add add = new Add(3, 5);
int result = add.getResult();
System.out.println(result);// 8




Sub sub = new Sub(3, 5);
int result1 = sub.getResult();
System.out.println(result1);// -2

声明成父类类型,new 子类对象调用getResult()方法

    如果子类重写了getResult()方法,调用的就是子类中的方法
    如果没有重写,调用的就是父类中的方法
Cal cal = new Add(3, 2);
int result2 = cal.getResult();
System.out.println(result2);// 5
cal = new Sub(3, 2);
int result3 = cal.getResult();
System.out.println(result3);// 1
这样就实现了多态
多态:声明成父类类型,指向不同的子类对象,能实现不同的重写方法
多态存在的三个条件:
1.继承 
2.重写 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值