您的位置:首页 > 编程语言 > Java开发

java final 修饰符详解

2014-10-26 09:49 274 查看
final修饰符究竟有什么作用,我们该如何使用,对我们的应用开发又能够起到什么作用,有java基础的肯定是不难说出final的几个用法,

1.被final修饰的变量在首次被初始化之后是不能够再次被赋值的。

2.被final修饰的方法是不可以被重写的。

3.被final修饰的类是不能够派生出子类来的。

被final修饰的实例变量和类变量

public class Main {
    private final int num1 = 1;
    private final int num2 ;
    private final int num3 ;
    private final static int num4;
    private final static int num5 = 5;
    {
<span style="white-space:pre">	</span>num3 = 3;
    }
    static {
<span style="white-space:pre">	</span>num4= 4;
    }
    public Main() {
<span style="white-space:pre">	</span>num2 = 2;
<span style="white-space:pre">	</span>// TODO Auto-generated constructor stub
    }

}


首先,被final修饰的变量必须要对其进行显示初始化,而且系统不会对其进行初始化赋初值,对于实例变量有这三种初始化的方式,第一在定义的时候对其直接赋值,第二就是在非静态代码块中对其进行赋值,在静态代码块中是不可以对实例变量进行赋值的。第三种方式就是在构造函数中对其进行赋值。对于类变量来说1,在静态代码块中对其进行初始化2.在对其进行定义的时候直接对其进行显示初始化。是不可以在构造函数中对其进行初始化的。final修饰的变量相当于宏变量,但是只有再对该变量在定义的时候进行初始化的时候,该变量才会被执行宏替换,如果是在初始化块或者构造函数,或者是在对其赋值的时候用到一些方法的话,这些类型都是不可以对其进行宏替换的,这种情况表现在对变量的值得比较的时候出现,说到这就要说的是java中的字符串缓冲区,每一个字符串都会在缓冲池中有一个,相同的则只会存在一个,只有两个字符串变量指向同一个缓冲区的同一个变量的时候,才会判定其是相等,如果不是则会判定为不相等。

被final修饰的方法()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: