Java的多态

一.多态

1、多态的应用场景

同一种操作,由于条件不同,产生的结果也不同

2、多态的含义

多态:对象的多种形态

3、实现多态的三要素

  • 编写具有继承关系的父类和子类
  • 子类重写父类方法
  • 使用父类的引用指向子类的对象

4、多态的实现方式

  • 将父类作为形参
  • 将父类作为返回值

5、引用类型的数据转换问题

例如: 假设:在一个(Pet)父类下有两个子类(Dog)(Cat) 以父类为对象类型,可以创建父类本身的对象(也可以创建Dog类的对象,也可以创建Cat类的对象),但是其真实类型还是其本身,创建的 Dog类与创建的 Cat类不能互通 同一个引用类型,使用不同的实例而执行不同操作
 

package com.bdqn.ready;
public class Test {
    public static void main(String[] args) {
        // 创建一个以父类Pet作为对象类型的引用对象Pet
        Pet pet = new Pet();

        // 创建一个以父类Pet作为对象类型的引用对象Dog
        Pet dog = new Dog();

        // 创建一个以父类Pet作为对象类型的引用对象Cat
        Pet cat = new Cat();
    }
}
  • 非强制转换类型
    pet = dog;
    pet = cat;
    cat = dog;
    dog = cat;
  • 需要强制转换类型
    Dog dogs = (Dog)dog;
    Cat cats = (Cat)cat

向上转型:将父类的引用指向子类对象,称为向上转型,自动进行类型转换。

Pet dog = new Dog();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值