小结:
有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。就可以使用final关键字解决,它可以用来修饰类,类的成员,以及局部变量
final关键字
注意事项
1:final修饰类的时候,该类为太监类,不能拥有子类。
2:final修饰方法不可以被覆盖,即不能被重写。
3:final修饰变量称为常量,这些变量只能赋值一次。
4:final修饰引用类型,引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改。
final Person p = new Person(); Person p2 = new Person(); //final修饰的变量p,所记录的地址值不能改变 p = p2; //可以更改p对象中name属性值 p.name = "小明";
5:final修饰成员变量,需要在创建对象前赋值,否则报错。(当没有显式赋值时,多个构造方法的均需要为其赋值,只能赋值一次)
public class Demo { //直接赋值 public final int m = 100; //final修饰的成员变量,需要在创建对象前赋值,否则报错。 public final int n; public Demo(){ //可以在创建对象时所调用的构造方法中,为变量n赋值 n = 2016; } }