-
final 可以用来修饰类、方法、变量。
-
final 用来修饰一个类
-
代表不能延续,不能被继承,不能有子类
final class Person { // 不能被继承 }
-
-
final 用来修饰一个方法
-
表明此方法不能被重写
class Person { public final void eat() { // 类被继承了方法也不能被重写 } }
-
-
final 用来修饰一个变量
-
final 来修饰一个属性
-
表明变量不能再变化
-
当使用final来修饰一个变量后可以通过 显式初始化、代码块初始化、构造器初始化。
public class Person { final int age = 1; // 显示初始化 final int height; { height = 185; // 代码块初始化 } final int weight; Person() { weight = 160; // 构造器初始化 } } -
只要在类的对象生成之前对 final 修饰的变量初始化就不会报错。因为类生成之后被 final 修饰的变量应该已经有初始化的值并且不在改动。
-
final 来修饰局部变量
-
final 修饰方法体内的局部变量,局部变量不能再变化。
-
final 修饰方法体的形参。只能使用形参,不能修改形参
public class test { public void show() { final int NUM = 10; // final 修饰方法体内的局部变量,局部变量不能再变化。 } public void show(final int NUM) { System.out.println(NUM); // final 修饰方法体的形参。只能使用形参,不能修改形参 } }
-
-
static final 用来修饰属性(全局常量)、方法