美文网首页
java中的final关键字

java中的final关键字

作者: 薇薇一笑好倾城 | 来源:发表于2017-06-02 09:13 被阅读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修饰并且能在编译期间就能知道他的确切值,他就 会把下面所有用到这个变量的地方用这个值来代替。

     

    相关文章

      网友评论

          本文标题:java中的final关键字

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