多态:
多态是java面向对象三大特性之一
多态也就是一个对象的多种形态。
前提【重点】
有继承或者实现关系
方法的重写【意义体现:不重写,无意义】
子类对象赋值给父类类型
多态的使用场景
父类作为形参,给这个方法传递的父类,可以是父类的子类,在方法中根据传递的不同对象来调用不同类中的方法。
多态的运行特点
调用成员变量时:编译看左边,运行看左边
调用成员方法时:编译看左边,运行看右边
多态的弊端
无法运行子类的特有功能
引用类型转换
由于多态的方式调用方法无法调用子类的特有功能,所以需要做类型转换
类型转换分为向上转换和向下转换,向上转换是自动转换。
多态中:
子类对象赋值给父类类型的变量就是向上转换,这个过程是自动转换。
引用父类转换为子类对象就是向下转换,这个过程是强制转换。
为了避免转换出现异常,java提供了instanceof关键字,它可以对转换前的引用父类做类型校验,使用instanceof可以增加程序的健壮性。
jdk14之后有一个新特性,instsanceof只需要一行代码实现在检验的同时可以直接强转。
包和权限修饰符:
包就是文件夹,包是用来管理不同的功能,也就是分类。
权限修饰符有4个:
public:公共的,都可以访问。
protected:受保护的,只有同一个包下或者子类才能使用。
没加修饰符的:默认,只有同一个包下的才能使用。
private:私有的,只有本类可以使用。
final关键字:
final修饰的类,不能被继承。
final修饰的方法,不能被重写。
final修饰的局部变量,只能赋值一次。
final修饰的成员变量,正常就是显示初始化。被final修饰的常量名称,一般都有书写规范,所有字母都大写。
栗题:
https://download.csdn.net/download/weixin_65861329/87052025
标签:转换,进阶,子类,修饰符,多态,父类,final From: https://www.cnblogs.com/suwejie/p/16889856.html