4.final 在 java 中有什么作用?
final是一个关键字,可以用于修饰类,成员变量,成员方法。
特点:
它修饰的类不能被继承。
它修饰的成员变量是一个常量。
它修饰的成员方法是不能被子类重写的。
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写。
final修饰成员变量,必须初始化,初始化有两种
显示初始化;
构造方法初始化。
但是不能两个一起初始化
final和private的区别:
final修饰的类可以访问;
private不可以修饰外部类,但可以修饰内部类(其实把外部类私有化是没有意义的)。
final修饰的方法不可以被子类重写;
private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的。
final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改;
private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值。