Java--基础 面向对象特性之多态之一

多态:一个事物,有多种表现形态。
cat 是一只猫 是一个宠物 是一个动物
多态在实际使用中,需要建立继承关系,建立接口和实现类的关系。

当一个程序因为需求的变化而需要频繁修改代码的时候,则表示改程序的可扩展性和可维护性很差,使用多态可以对其优化。
继承和方法重写是实现多态的基础
形参(形式参数)
实参(实际参数)
方法定义时参数列表中的数据就是形参
在调用方法时传入的数据就是实参
多态的使用:
1.定义方法形参(形式参数)的数据类型为父类,实际调用方法时传入子类实参。
2.定义方法返回值类型为父类,外部调用该方法时使用子类对象来接收返回值。
两个类有继承关系,可以把子类当做父类来传递

由多态衍生出另外一个概念:抽象

在多态的场景下,父类方法会被子类方法所重写,所以父类的方法体是没有任何意义的。
即不需要定义父类的方法体,没有方法体(方法实现)的方法叫做抽象方法。

一旦某个类中定义了一个抽象方法,则必须将该类定义为抽象类。
抽象类不能被实例化。

抽象类不能通过调用构造函数的方式实例化。
我们在实例化其子类的时候,会自动实例化抽象类的对象。

定义:
使用abstract修饰的方法叫做抽象方法,没有方法体。
使用abstract修饰的类叫做抽象类,抽象类中可以包含非抽象方法,抽象类中全部是非抽象方法也是可以的,非抽象类中一定不能有抽象方法。
只要一个类中包含抽象方法,则该类一定是抽象类。

规则:
一个非抽象类继承了一个抽象类,若父类中存在抽象方法,则子类一定要对其进行重写。
若子类也是抽象类,则子类不用实现父类中的抽象方法。
子类为抽象类,实现或不实现父类的抽象方法均可。
子类为非抽象类,必须实现父类的抽象方法。
抽象方法不能用static修饰

对象之间的数据类型转换:
栈内存里面的存的东西是引用
1.向上转型:父类的引用指向子类对象,自动完成数据类型转换,将子类对象转为父类。
2.向下转型:子类的引用指向父类对象,强制完成数据类型转换,将父类对象转为子类。

基本类型 大转小 强制完成 小传大 自动完成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值