也不可以变换属性。例如
int x = 0;
System.out.println(((double)x));
System.out.println(x);
输出结果是
0.0
0
作者: 张宁 时间: 2013-2-24 19:12
final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
作者: 冯佩 时间: 2013-2-24 19:42
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。作者: 付玉光 时间: 2013-2-24 21:54
//final修饰基本数据类型变量时,只能赋值一次,再赋重值也不行,变量的值是不可改变的,修饰引用数据类型对象时对象的地址是
//不可变的,但对象中的成员属性可变。
class AboutFinal{
//定义属性,默认、显示初始化都不赋值,而在构造方法中赋值。
final int var ;
//{this.age = 5;}加上该句将报错
//无参构造
AboutFinal(){
var = 0;
System.out.println("无参构造 var = "+var);
}
//有参构造
AboutFinal(int var){
this.var = var;
System.out.println("有参构造 var = "+var);
}
public static void main(String args[]){
AboutFinal af = new AboutFinal();
af = new AboutFinal(10);
}
} 作者: 擒贼先擒王 时间: 2014-12-22 22:03
嗯,5楼讲的很有道理!!!