1.使用final关键字修饰的类无法被继承。
2.对于final型常量的赋值要么在变量定义的时,要么在构造函数中,如果有多个构造函数要求
在每个构造函数中都有赋值语句且相同。
class Person
{
public final String x=100;
//public final String x;
public String name;
public int age=10;
public Person(){
//x="abc";
}
public Person(String name,int age){
//x="abc";
this.name=name;
this.age=age;
}
public static void main(String [] args){
}
2.如果要引用非static修饰的final型常量必须先实例化对象后使用。如果希望不实例化来引用
必须加上static关键字修饰,并且常量必须立即赋初值,就不在构造函数中赋值了。
使用final定义常量的好处:将一些不方便记忆的数定义为常量那么在应用时只需要引用常量名
即可。如对于最大浮点数的定义:MAX_VALUE。
public class Person{
public final String x="abc";
//public static final String x="abc";
//public final String x;
public String name;
public int age=10;
public Person(){
//x="abc";
}
public Person(String name,int age){
//x="abc";
this.name=name;
this.age=age;
}
public static void main(String [] args){
Person p1=new Person();
System.out.println(p1.x);
//System.out.println(x);
System.out.println(Float.MAX_VALUE);
}
}