1.final类
final类不能被继承,没有子类,final类中的方法默认是final的。
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。
2.final方法
final方法不能被子类覆盖,但可以继承。
3.final变量
用final修饰的成员变量表示常量,值一旦给定就无法改变。
final变量定义的时候,可以先声明,而不给初值,这种变量也称为final空白,无论什么情况,编译器都会确保空白final在使用之前必须被初始化。
4.final参数
当函数参数为final类型时,你可以读取使用该参数,但无法改变该参数的值。
public class Test { public static void main(String[] args) { new Test().f1(2); } public void f1(final int i) { i++; //i是final类型的,值不允许改变的. System.out.print(i); } }
The final local variable i cannot be assigned. It must be blank and not using a compound assignment