Java中的final
2014-04-27 16:26
176 查看
final关键字可以理解为终态。
一个类不能既是final的,又是abstract的。因为abstract的主要目的是定义一种约定,让子类去实现这种约定,而final表示该类不能被继承,两者矛盾。
当final修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化;
如果final修饰一个引用类型时,表示该引用类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
本质上是一回事,因为引用的值是一个地址,final要求值,即地址的值不发生变化。
final修饰一个成员变量(属性),必须要显示初始化。
这里有两种初始化方式,一种是在变量声明的时候初始化;第二种方法是在声明变量的时候不赋初值,但是要在这个变量所在的类的所有的构造函数中对这个变量赋初值。
当函数的参数类型声明为final时,说明该参数是只读型的。
final关键字可以理解为终态。
final修饰类
final修饰的类不允许被继承。一个类不能既是final的,又是abstract的。因为abstract的主要目的是定义一种约定,让子类去实现这种约定,而final表示该类不能被继承,两者矛盾。
final修饰方法
final修饰方法,表示该方法不能被子类中的方法覆写Override。final修饰变量
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。当final修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化;
如果final修饰一个引用类型时,表示该引用类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
本质上是一回事,因为引用的值是一个地址,final要求值,即地址的值不发生变化。
final修饰一个成员变量(属性),必须要显示初始化。
这里有两种初始化方式,一种是在变量声明的时候初始化;第二种方法是在声明变量的时候不赋初值,但是要在这个变量所在的类的所有的构造函数中对这个变量赋初值。
当函数的参数类型声明为final时,说明该参数是只读型的。
相关文章推荐
- 《编程导论(Java)·2.4.3 final变量和不变类》-final变量
- Java-final
- java为什么匿名内部类的参数引用时final?
- java基础之final关键字作用
- Java中final的用法总结
- Java_static、this、super、final用法(3)
- [java]final关键字、finally关键字与finalize()方法
- final在java中的用法
- 深入理解Java中的final关键字
- Caused by: java.lang.VerifyError: Cannot inherit from final class
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java中的final关键字
- Java中final关键字
- java中4种修饰符访问权限的区别及详解全过程,final修饰符 ,static修饰符 ,abstract修饰符
- Java匿名类中使用的局部变量为何要加final
- 杰神之Java关键字final和多态继承全解
- Java进阶--final关键字
- Java this&super &final
- Java final方法