1、final可以修饰类,方法和变量。
2、final修饰的类不能被继承
3、final修饰的方法不能被重写覆盖
4、final修饰的变量不能被重新赋值,因为这个变量经过final修饰就是一个常量了,此为自定义常量。
5、final修饰的基本类型,表示变量的值不能变;final修饰的引用类型,表示变量的地址值不能变。
6、如果final修饰的变量定义的时候没有赋值,那么在构造方法结束之前是可以对其进行赋值的。
①、要有继承
②、要有方法的重写
③、要有父类引用指向子类对象,如:Fu f = new Zi();
①、成员变量,编译看左边,运行看右边
②、构造方法,创建子类对象的时候,访问父类的构造方法,对父类成员变量进行初始化
③、成员方法,编译看左边,运行看右边
④、静态方法,编译看左边,运行看左边
1、抽象类和抽象方法必须用abstract关键字修饰
2、抽象类中不一定有抽象方法,但是有抽象方法的类一定要定义为抽象类
3、抽象类不能实例化,因为他不是具体的。抽象类的构造方法的作用是用于子类访问父类数据的初始化
4、抽象类的子类要么也是一个抽象类,要么就要实现父类的所有抽象方法,称为一个具体子类
原文:https://www.cnblogs.com/kim-zhu/p/12739197.html