多态
同类型的对象,表现出的不同形态。
多态的表现形式
父类类型 对象名称 = 子类对象;
多态的前提
有继承关系;
有父类引用指向子类对象;
有方法重写;
总结
1,什么是多态?
对象的多种形态
2,多态的好处?
使用父类型作为参数,可以接受所有子类对象,体现多态的扩展性与便利。
多态调用成员的特点
变量调用:编译看左边,运行也看左边。
方法调用:编译看左边,运行看右边。
多态的优势和弊端
1,多态的优势
方法中,使用父类型作为参数,可以接受所有子类对象
2,多态的弊端
不能使用子类的特有功能
3,引用数据类型的类型转换,有几种方式?
自动类型转换、强制类型转换
4,强制类型转换能解决什么问题?
可以转换成真正的子类类型,从而调用子类独有功能。
转换类型与真实对象类型不一致会报错。
转换的时候用instanceof关键字进行判断
包
包就是文件夹。用来管理各种不同功能的java类,方便后期代码维护。
包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意。
使用其他类的规则
使用同一个包中的类时,不需要导包。
使用Java.lang包中的类时,不需要导包。
其他情况都需要导包
如果同时使用两个包中的同名类,需要用全类名(包名+类名)。
final
修饰方法:表明该方法时最终方法,不能被重写
修饰类:表明类是最终类,不能被继承
修饰变量:叫做常量,只能被赋值一次
常量
实际开发中,常量一般作为系统的配置信息,方便维护,提高可读性。
常量的命名规范:
单个单词:全部大写
多个单词:全部大写,单词之间用下划线隔开
细节:final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。
final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,对象内部的可以改变。
权限修饰符
权限修饰符:是用来控制一个成员能够被访问的范围的。
可以修饰成员变量,方法,构造方法,内部类。
权限修饰符的分类
有四种作用范围由小到大(private < 空着不写 < protected < public)
修饰符 | 同一个类中 | 同一个包中其他类 | 不同包下的子类 | 不同包下的无关类 |
private | √ | |||
空着不写 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
权限修饰符的使用规则
实际开发中,一般只用private和public
成员变量私有
方法公开
特例:如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有。
代码块
局部代码块
用来提前结束变量的生命周期(已淘汰)
构建代码块
抽取构造方法中的重复代码(不够灵活)
静态代码块
格式:static{}
特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次。
使用场景:在类加载的时候,做一些数据初始化的时候使用
作用:数据的初始化(重点)