java final解释

来源:互联网 发布:unity3d 与apk 编辑:程序博客网 时间:2024/06/04 18:08
Java final 

final 关键字表示'终态的','无法改变的', 它可以修饰非抽象类,非抽象方法及变量 

final类不能被继承,没有子类,final类中的方法默认是final的 
final方法不能被子类覆盖,但可以继承 
final变量只能一次赋值,不可更改 
final不能修饰构造函数 

1. final类 
   final类不能被继承,没有子类,final类中的方法默认是final的。 
   如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为   final类 

2. final方法 
   final方法不能被子类覆盖,但可以继承 
   第一、把方法锁定,防止任何继承类修改它的意义和实现。 
   第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。 

3. final变量/常量 
   用final修饰的成员变量表示常量,值一旦给定就无法改变。 
   final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译   器都确保空白final在使用之前必须 

被初始化 

4. final参数 
   当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值 
   
Java代码  收藏代码
  1. public void f1(final int i){  
  2. //i++;  //i是final类型的,值不允许改变的.  
  3. System.out.print(i);  
  4. }  

5. static final 
   对于变量,表示一旦给值就不可修改,并且通过类名可以访问。 
   对于方法,表示不可覆盖,并且可以通过类名直接访问。 
   对于被static和final修饰过的实例常量,实例本身不能再改变了,但对于一些容器类型(比如,ArrayList、HashMap)的实例变量,不可以改变容器变量本身,但可以修改容器中存放的对象
原创粉丝点击