07.多态,转型,instaceOf,组合和final

多态

即父类的引用实际指向子类的对象。(里氏替换原则)

多态使用形式
  • 1 使用父类作为方法形参实现多态
  • 2 使用父类作为方法返回值实现多态

向上转型

即父类引用指向子类对象,自动转化。此时父类只能调用父类自己有的,或者是子类重写了父类的方法,不能调用子类独有的方法。(运行时调用实际类型)

向下转型

将父类的变量赋值给子类变量,强制转换。
只有在进行了向上转型之后,才能向下转型,否则会程序抛出异常。
若一个父类A的引用a,指向一个子类B的实例,将a赋值给另一个子类C引用时,会抛出java.lang.ClassCastException异常

组合

组合,当需要另一个类的方法,却又不好继承时,可以选择组合的方法,成员变量中添加一个该类的对象,其实这中做法并不比继承消耗更多的空间,因为即便是继承,也会为父类开辟空间,组合只是多了一个引用变量来引用该对象,对内存没有本质影响。

final

3.1 final修饰变量

​ final修饰成员变量或局部变量,则成为(符号)常量,只能赋值一次,用大写字母表示。

  • 修饰成员变量时,定义时同时给出初始值,或在构造方法中赋值
  • 修饰局部变量时,只能赋值一次

作用:提高程序执行效率

3.2 final修饰方法

则该方法不能被子类重写,能被继承

     final returnType methodName(paramList){
​         …
​      }
3.3 final修饰类

​ 则类不能被继承

​     final class finalClassName{
​         …
​     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值