一、关键字final的用法和特点
1、final可以修饰类,方法和变量。
2、final修饰的类不能被继承
3、final修饰的方法不能被重写覆盖
4、final修饰的变量不能被重新赋值,因为这个变量经过final修饰就是一个常量了,此为自定义常量。
5、final修饰的基本类型,表示变量的值不能变;final修饰的引用类型,表示变量的地址值不能变。
6、如果final修饰的变量定义的时候没有赋值,那么在构造方法结束之前是可以对其进行赋值的。
二、多态的特点
1、多态具备的条件
①、要有继承
②、要有方法的重写
③、要有父类引用指向子类对象,如:Fu f = new Zi();
2、多态成员访问:
①、成员变量,编译看左边,运行看右边
②、构造方法,创建子类对象的时候,访问父类的构造方法,对父类成员变量进行初始化
③、成员方法,编译看左边,运行看右边
④、静态方法,编译看左边,运行看左边
3、多态可以通过向下转型来调用子类的独有功能
三、抽象类的特点(共性功能)
1、抽象类和抽象方法必须用abstract关键字修饰
2、抽象类中不一定有抽象方法,但是有抽象方法的类一定要定义为抽象类
3、抽象类不能实例化,因为他不是具体的。抽象类的构造方法的作用是用于子类访问父类数据的初始化
4、抽象类的子类要么也是一个抽象类,要么就要实现父类的所有抽象方法,称为一个具体子类
四、接口的特点(扩展功能)
1、接口用关键字interface修饰
2、类实现接口用implements
3、接口不能实例化
4、接口的实现类要么是一个抽象类,要么是一个重写了接口中所有抽象方法的具体类
注:
1、类与类的关系,
继承关系,只能单继承,但是可以多层继承
2、类与接口的关系
实现的关系,可以但实现,也可以多实现,还可以在继承的同时多实现
3、接口与接口的关系
继承的关系,单继承,也可以多继承