java中的final关键字

2017-06-02  本文已影响0人  薇薇一笑好倾城

        对于java开发程序员来说,对于final关键字一定不会陌生,final有不可改变的,終态的意思。

      final关键字可以用来修饰非抽象类以及非抽象类成员变量,方法。


下面是他的几种常用用法:

(1)修饰一个类时,表明这个类不能被继承,并且里面所有的方法都默认是final方法

(2)修饰一个类中的方法时,表明这个方法不能被覆写,但是可以被继承。private方法即默认是final修饰的。

          使用final方法的原因:出于安全考虑不想让任何人覆写这个方法;高效(涉及编译原理,不够理解,待补充)

(3)修饰成员变量时,表明这个变量一旦赋值就不能够再被改变。另外可以在定义final变量的时候先不给赋值,称为final空白。但是类初始化的时候(比如说构造方法中)一定要赋值,这样既可以保证变量值的灵活性,又可以利用final恒久不变的特性,为我们的开发带来方便。

       当作用于局部变量的时候,在使用之前保证其被赋值即可。

  (4)修饰参数时,表明这个参数可以被使用,但是在方法内不允许被改变。

注意:引用变量被final修饰以后虽然不能再指向其他引用,但是引用中的内容是可变的。(当然这个不包括引用用static修饰的成员变量,那是常量,是不可改变的)


一个例子:

public class Test {

   public static void main(String[] args)  {

       String a = "hello2";

final String b = "hello";

String d = "hello";

String c = b + 2;

String e = d + 2;

System.out.println((a == c));

System.out.println((a == e)); }

输出结果:true

                      false

说明一旦一个变量用final修饰并且能在编译期间就能知道他的确切值,他就 会把下面所有用到这个变量的地方用这个值来代替。

 

上一篇下一篇

猜你喜欢

热点阅读