1、继承(extends)
优点:1、提高了代码的复用性
2、提高了代码的可维护性
3、让类与类之间产生关系,是多态的前提
缺点:类的耦合性增强了。
2、Java中继承特点:
1、只支持单继承,不支持多继承
2、支持多层继承
注意事项:
1、子类只能继承父类的所有非私有的成员方法和成员变量
2、子类不能继承父类的构造方法,但是可以通过super关键字去访问父类的构造方法。
使用条件:is a 的关系
3、子父类出现同名变量(开发中不会出现):就近原则
4、继承中构造方法的关系:
子类中的所有构造方法默认都会访问父类中空参数的构造方法,因为子类会继承父类中的数据,可能还会使用父类的数据。每一个构造方法的第一条语句默认都是:super()即使没有写也是存在的。private修饰的构造方法是不能被继承的,因为子类中的构造方法中有默认的super(),而private修饰的方法是无法被继承的。
5、方法重写:子父类出现了一模一样的的方法。
应用:子类具有自己特殊的功能内容的时候,需要重写。
注意事项:
1、父类中的私有方法不能够被重写,这是因为父类中的私有方法根本无法被继承
2、子类重写父类方法时,访问权限不能更低,最好是一致。
3、父类静态方法,子类也必须通过静态方法进行重写。静态只能访问静态,也不能算是重写。
6、final关键字:
特点:1、修饰的类不能够被继承。
2、修饰的变量,变量就已经变成了常量,只能被赋值一次。
2.1如果修饰的是基本数据类型,是值不能够改变
2.2如果修饰的是引用数据类型,是地址值不能够被改变,对象的属性可以改变。
3、修饰的方法,不能够被重写。
7、访问修饰符:public、protected、default、private
修饰类:public default abstract final
修饰成员变量:都可以
修饰成员方法:都可以
构造方法:都可以
局部变量不可以添加访问修饰符
访问修饰符表格
本类 | 同包(子类和无关类) | 非同包(子类) | 非同包(无关类) | |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |