1、基本用法
可以修饰类、方法、变量(成员变量和局部变量)。
2、类
表示此类不能被继承(String.class)。
3、方法
1.可以把方法锁住,防止任何继承类修改它的含义。
2.同意编译器将针对该方法的所以调用都转换为内嵌调用。
3.所有private方法隐式地指为final。
4、引用类型
表示引用的地址是不能改变的。
5、基本数据类型
对于基本数据类型final使数值恒定不变。
6、示例代码
public class Final {
private final int AttRIBUTE_A = 0;
private final String ATTRIBUTR_B = "final";
/**
* static + final 表示只占据一段不能改变的存储空间。
*/
private static final String ATTRIBUTE_C = "staticFinal";
public final void Method() {
System.out.println("final Method");
}
final class Class {
}
public static void main(String[] args) {
/**
* 参数列表中声明final,意味着无法在方法中更改参数引用所指向的对象。(主要用来向匿名内部类传递数据)
*/
final String attributeC = "匿名内部类";
new Thread(new Runnable() {
public void run() {
System.out.println(attributeC);
}
}).start();
}
}