更多 Java 基础知识方面的文章,请参见文集《Java 基础知识》
- final 类:不能被继承
- final 方法:不能被 override
- main 方法也可以被 final 修饰
- final 变量:不能被修改
final 变量的初始化:
- 声明时初始化:
public class Final_Test {
public final int i = 10;
public Final_Test() {
}
}
- 在构造方法里初始化
public class Final_Test {
public final int i;
public Final_Test() {
i = 10;
}
}
- 以上两种方式,必须选择一种,但是不能同时使用,例如以下代码会出现编译错误:
public class Final_Test {
public final int i = 10;
public Final_Test() {
i = 10;
}
}
- 不能在其他方法里初始化或赋值,例如以下代码会出现编译错误:
public class Final_Test {
public final int i = 10;
public Final_Test() {
}
public void f() {
i = 20;
}
}
- 如果为 static final 变量,则不能在构造方法里初始化,只能在 声明时初始化 或者 在 static 代码块中初始化,例如:
public class Final_Test {
public static final int i;
static {
i = 10;
}
public Final_Test() {
}
}