1.super关键字
super:
代表父类的对象
在子类中调用父类中非私有的属性或方法
必须要有继承关系,在子类中调用,代表父类的属性或方法
如果在构造方法中使用,默认调用父类无参的构造方法
this:
代表当前类的对象
可以调用属性和方法
也可以调用构造方法
2.抽象类
abstract class 类名 { }
1.使用abstract修饰的类就叫做抽象类
2.抽象类中可以有抽象方法,也可以有非抽象方法
3.抽象方法使用abstract修饰,没有方法体
4.抽象类不能实例化
5.子类去继承抽象类,必须要重写抽象类中的所有抽象方法
6.抽象类可以继承抽象类
7.抽象类可以继承非抽象类
8.非抽象方法可以重写也可以不重写
2.1abstract关键字
修饰类和方法,只能修饰类和方法
3.final关键字
修饰类、属性、方法
被final修饰的成员变量必须要赋值,且一旦赋值就无法修改
被final修饰的局部变量可以先不赋值,但要在使用前赋值,并且一旦赋值无法修改
被final修饰的类无法被继承
被final修饰的属性可以被继承,但无法被修改
被final修饰的方法无法被重写
4.接口
interface 接口名 { }
实现用implements关键字
1.用interface修饰,表示接口类
2.接口中定义的属性都是被static、final修饰的,都是常量
3.接口中可以有非抽象方法(jdk1.8以后,有方法体,default修饰)和抽象方法
4.接口中没有构造方法,不能被实例化
5.定义一个普通类来实现接口,使用关键字implements,普通类中需要实现接口类中的全部抽象方法
6.一个普通类可以实现多个接口,弥补了单继承的局限性
7.一个接口可以去继承另外一个接口