final

1、final修饰类

  final class Car {  //表明这个类不能被继承

  }

2、final修饰方法

  final void setColor() {  //表明此方法不能被子类重写

  }

/* 若此时方法的访问修饰符为private,可在子类定义和父类相同的方法,此时不在产生final与重写的矛盾,而是子类自己定义了新的方法 */

3、final修饰变量(表示变量的值一经初始化后便不能发生变化)

  final double MAX_VALUE = 3.14;

(1)当final修饰局部变量时,可不显示初始化,但必须经过初始化后才能使用

(2)当final修饰成员变量时,必须显示初始化,这里有两种初始化方式。一种在变量声明的时候初始化,另一种方法是在声明变量的时候不赋初值,但是要在这个变量所在的类的所有构造方法中对这个变量赋初始值

(3)当final修饰静态变量时,必须在声明时显示初始化

(4)当final修饰引用类型的变量时,则在对其初始化后便不能再让其指向其他对象,但该引用所指向的内容是可以发生变化的

(5)final可修饰形式参数

猜你喜欢

转载自www.cnblogs.com/ss-123/p/8973237.html