美文网首页
final关键字

final关键字

作者: perfect_jimmy | 来源:发表于2017-03-24 15:37 被阅读5次

final用于修饰属性、方法和类
final类型有且仅有一次赋值的这样一个约定

修饰类

被final修饰的类无法被继承

修饰方法

  • 被final修饰的方法被继承后不能被重写
  • final不能修饰构造方法

修饰属性

  • 成员变量会自动初始化,但是默认值没有什么意思,java要求被final修饰的成员变量必须赋一个初始值
  • 局部变量不会自动初始化,可以只声明不立刻赋值,但是赋值之后不能再赋值
    修饰变量,变量就变成了常量,只能被赋值一次

深入:

public class Test{  
    {  
        a = 4;  
    }    
    private static final int a;        
    public static void main(String[] args){  
        System.out.println(a);  
    }  
} 

被static final修饰之后,代码编译不通过。我们在访问a的同时,域中的a=4并未执行这样就违背了final类型有且仅有一次赋值的这样一个约定。所以{a=4;}不管是放在声明的代码前还是声明的代码后都无法编译通过。

相关文章

网友评论

      本文标题:final关键字

      本文链接:https://www.haomeiwen.com/subject/ejkogttx.html