java中的final关键字
2015-01-10 12:47
211 查看
1.final的语义:
java中final修饰符的语义是:不可变的。
在java中,final可以修饰:变量,方法和类。分别代表,变量是不可变的;方法是不可被重写的;类是不可被继承的。
2. final修饰变量:
当final修饰成员变量时,修饰类变量和实例变量,初始化的时机是不同的。
实例变量可以在声明时、初始化块,构造器中赋初始值;
而类变量在 声明时 只可以在 声明时 ,静态初始化块中初始化。
3. 宏替换:
final变量的语义和常量是很像的。
可是,在某些情况下,final变量是会在编译时替换为“常量”。就是在,编译时,我们能够直接确定final变量的值就可以了。哪怕是该final变量的值是某些常量通过简单的运算得到的,也可以。
4. 闭包(内部类)
在内部类中引用其他变量,这些变量必须是用final修饰的。因为,我们要保证闭包能够脱离主类的生命周期而存在。那这就要求,所引用的这些外变量必须是常量。
java中final修饰符的语义是:不可变的。
在java中,final可以修饰:变量,方法和类。分别代表,变量是不可变的;方法是不可被重写的;类是不可被继承的。
2. final修饰变量:
当final修饰成员变量时,修饰类变量和实例变量,初始化的时机是不同的。
实例变量可以在声明时、初始化块,构造器中赋初始值;
而类变量在 声明时 只可以在 声明时 ,静态初始化块中初始化。
3. 宏替换:
final变量的语义和常量是很像的。
可是,在某些情况下,final变量是会在编译时替换为“常量”。就是在,编译时,我们能够直接确定final变量的值就可以了。哪怕是该final变量的值是某些常量通过简单的运算得到的,也可以。
4. 闭包(内部类)
在内部类中引用其他变量,这些变量必须是用final修饰的。因为,我们要保证闭包能够脱离主类的生命周期而存在。那这就要求,所引用的这些外变量必须是常量。
相关文章推荐
- Java关键字介绍之final
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- 关于Java中的final关键字
- Java关键字final、static使用
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java关键字final、static 抽象类 接口使用总结
- JAVA中的关键字FINAL
- Java关键字final、static使用总结
- Java中final关键字学习笔记
- [Think in Java 笔记] Final关键字
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java与C#的中只读关键字区别分析:Java的Final和C#的Const,Readonly(原创)
- Java 学习笔记 (11) - final 关键字
- final关键字的使用(Thinking In Java 读书笔记)
- Java中的final关键字
- Java语言的final关键字的含义
- Java关键字final、static使用总结