面向对象
继承
子承父业
目的
提高代码的复用性
作用
子类一旦继承父类,有权使用父类中的成员,可以在子类中定义子类独有的内容
定义
子类 extends 父类
实体类|子类
根据一系列对象抽取共性所定义的实体类
父类
子类的共性
特点
单继承机制 ,一个子类只能继承一个父类,但是一个父类可以存在多个子类
修饰类只能使用public|default(默认)
开闭原则--> 面试对象设计原则之一
对修改关闭,对扩展开放
单继承
优点
简单
缺点
不便于后期维护
访问权限修饰符
种类
private私有的
本类
default默认的
本类
同包类
protected受保护的
本类
同包类
不同包下的子类
public公共的
本类
同包类
不同包下的子类
不同包下的其他类
注意
都是成员修饰符,只能修饰成员,不能修饰局部
能够修饰类的 : public | default
Protected修饰的成员在不同包下的子类中,需要通过继承关系使用
最常用的两种权限 : public|private
子主题 1
super 与 this 之间的区别
this 指代当前new对象
本类构造器的首行调用本类中的其他构造器this(参数列表)
区分局部与成员同名问题
默认就近原则
通过this.调用成员
super 指代父类对象
子类构造器的首行,通过super(参数)调用父类中的指定构造器
如果没有显示通过super(参数)调用,默认调用父类的空构造
区分子父类中同名成员
如果不存在同名问题 : 可以省略super.调用父类成员
如果存在子父类同名成员问题,同名局部问题
默认就近原则
有局部找局部
通过this.找子类成员
通过super.找父类成员
注意
子父类继承关系下 : 创建子类对象的时候,其实会先父类后子类
不能在构造器的首行同时使用this(参数)与super(参数)
this与super都不能使用在静态方法中
重写
重写的需求
当子类从父类中继承的功能满意,对功能实现不满意的时候,可以在子类对从父类中继承的功能重新实现
使用
如果子类中没有重写,调用父类的,父类没有报错
如果子类存在重写方法,调用子类中重写后的方法,对父类的方法进行屏蔽
检测是否为重写方法
1.idea行号后面的位置出现o向上箭头
2.在重写方法上添加注解 @Override
不能被重写的方法
1.被private修饰的方法不能被重写能被子类继承,但是无权使用
2.被final修饰的方法不能被重写
3.被static修饰的方法不能被重写
可以被继承不能被重写
如果子类中出现与父类中静态方法同名的方法,要求子类中这个同名的方法也被static修饰
重写 与 重载 之间的区别
重载的实现条件
1.一个类中的多个方法
2.方法名相同
3.参数列表不同|方法签名不同
重写的实现条件
1.两个类
2.继承|实现
3.方法签名完全相同
final 最终的
被final修饰的变量为常量
被final修饰的方法不能被重写
被final修饰的类不能被继承-->太监类
Javabean
一系列实体类的统称
定义规范
1.类是公共的
2.至少一个空构造
3.属性私有化
4.提供一对公共的访问方式