package new20140418;
/**
* final ——final关键字用于修饰类、变量和方法,final关键字用于表示修饰的类、方法和变量不可改变
* ——final修饰的成员变量必须有程序员显示地制定初始值 (1)类Field:必须在静态初始化块中或声明该Field时指定初始值
* (2)实例Field:必须在非静态初始化块、声明该Field或构造器中指定初始值
*
* @author x
*
*/
public class Test3_final {
// 定义成员变量时指定默认值
final int a = 56;
// 下面变量将在构造器或初始化块中分配初始值
final String str;
final int c;
final static double d;
// 初始化块,可对没有指定默认值得实例Field指定初始值
{
// 在初始化块中卫实例Field指定初始值
str = "hello world";
// a不能重复赋值
// a=34;
}
// 静态初始化块,可对没有指定默认值的类Field指定初始值
static {
d = 5.78;
}
// 构造器,可对没有指定默认值,又没有在初始化块中指定初始值的
public Test3_final() {
c = 9;
}
// 普通方法不能为FInal修饰的成员变量赋值
public void changeValue() {
// c=100
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test3_final test=new Test3_final();
System.out.println(test.a);
System.out.println(test.str);
System.out.println(test.d);
}
}
65 Java Final
最新推荐文章于 2022-08-06 13:28:49 发布