java中final可以修饰的变量

这里只讨论final可以修饰的变量,不讨论方法和类。

1、final可以修饰的变量:类变量,成员变量,局部变量。

2、需要注意的是:

(1)不同点:修饰类变量、成员变量:声明变量时必须赋初始值;

               修饰局部变量:是不用赋初始值的。因为局部变量在使用前,你一定会给它赋值的,直接调用一个未赋值的局部变量是非法的,所以final修饰的局部变量可以声明时不赋值。

(2)相同点:被final修饰的变量只能被赋值一次。

3、示例代码

错误提示:变量a1可能没有被初始化
    //final static int a2;//错误提示:变量a2可能没有被初始化
    final int a3=1;
    final static int a4=2;
    private void testFinal(){
        final int a5;
        a5=1;
        //a5=2;//错误提示:变量a5可能已经被赋值.
    }
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...