final关键字

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关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...
    WilsonMing阅读 636评论 0 5
  • 你总以为你会了,其实你只是一知半解。 final 关键字概览 final关键字可用于声明属性、方法、参数和类,分别...
    Sharember阅读 2,466评论 2 26
  • 1、概念 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、...
    M_JCs阅读 1,473评论 0 0
  • 小程序示例及源码 <text> 注意事项a. 开始标签<text>和结束标签</text>中空格和换行都有实际效果...
    红叶丶秋鸣阅读 569评论 0 1
  • 上回说到,成功解决了亮度调节问题,随后对那种修改方法就上了瘾,把那个文件改的面目全非之后,终于,在一次重启之后就。...
    BNH_96阅读 412评论 0 1