class Person1{
final String name; //The blank final field name may not have been initialized
}
class gffdfd {
public static void main(String[] args){
Person1 p=new Person1();
//p.name="tdy";
}
}
被final修饰后的变量是常量,不能被改变,就像int a=34; 34不能被改变
class Person1{
final String name="lyl";
}
class gffdfd {
public static void main(String[] args){
Person1 p=new Person1();
p.name="tdy"; //The final field Person1.name cannot be assigned
}
}
常量的命名规范:字母全部要大写,如果这个名字是由多个单词组成,在单词之间用下划线隔开,final String STUDENT_NAME="lyl";
一般来说,final修饰的成员变量,最好再用static静态化,因为final修饰后不能更改,每次new一个对象的时候仍会在堆中开辟内存,不如直接静态化,无论新建多少对象,只会占用一份内存。 final static String STUDENT_NAME="lyl";//全局常量
/*
* final 关键字 是一个修饰符,可以修饰类,函数,变量(成员变量,局部变量)
* 被final修饰后的类不可以被其他类继承
* 被final修饰的函数不可以被重写
* 被final修饰后的变量不能被再次赋值,final修饰变量是必须赋值,被final修饰后的变量称为常量
* 注意:常量的命名规范:字母全部要大写,如果这个名字是由多个单词组成,在单词之间用下划线隔开
* */
原文:http://www.cnblogs.com/randytdy/p/6646746.html