java final,
分享于 点击 22207 次 点评:77
java final,
http://blog.csdn.net/niguang09/article/details/6035813
http://zhidao.baidu.com/link?url=KAeS8HU79akgqBcdmRpJNRtP4ggW8-A-Vsm41BWW4ze6CXH_czHlI8wiA7-Ybz6Lz1ELd-iTFG3PHlWT9LeeAK
final初始化
1在定义时赋值
2在构造函数时赋值
需要注意的是,如果final修饰变量时,如果这个变量没有被用到,不赋值初始化不会报错,但是用到了就一定会报错,如果不赋值即空白final
final定义的变量并不是在编译的时候就确定下来,
如果是 final int i=Random.nextInt(100);
那么在生成多个对象的时候,他们的变量i就是随机的
但是如果是 static final int i=Random.nectInt(100),那么生成多个对象的时候,对应的变量i是确定的,这是因为static修饰,在类加载的时候就会分配一块内存,并赋值,当其他对象访问变量i时,会找到对应静态块,取出对应的值,这个值永远不变且只有一个
final修饰对象引用时,对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。
final修饰的参数传入方法时,表示此参数只能读,不能写
final修饰方法时,表示这个方法满足当前应用且不可扩展,子类可以调用其方法,但不能被重写
final修饰的类表示这个类不能被继承
相关文章
- 暂无相关文章
用户点评