java中的final关键字

        对于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修饰并且能在编译期间就能知道他的确切值,他就 会把下面所有用到这个变量的地方用这个值来代替。

 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...
    WilsonMing阅读 633评论 0 5
  • 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下f...
    indexImprov阅读 239评论 0 1
  • 一、基本用法 ** 1. 修饰类 **当final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以...
    薛晨阅读 565评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 等待空白之夜 与空白之页,被叨扰
    2020号阅读 270评论 11 13