简要说一下final关键字,final可以用来修饰什么?

 

final可以修饰类、方法、成员变量

  • 当final修饰类的时候,说明该类不能被继承

  • 当final修饰方法的时候,说明该方法不能被重写

    • 在早期,可能使用final修饰的方法,编译器针对这些方法的所有调用都转成内嵌调用,这样提高效率(但到现在一般我们不会去管这事了,编译器和JVM都越来越聪明了)

  • 当final修饰成员变量时,有两种情况:

    • 如果修饰的是基本类型,说明这个变量的所代表数值永不能变(不能重新赋值)!

    • 如果修饰的是引用类型,该变量所的引用不能变,但引用所代表的对象内容是可变的!

值得一说的是:并不是被final修饰的成员变量就一定是编译期常量了。比如说我们可以写出这样的代码:

private final int chang = new Randon().nextInt(20);

猜你喜欢

转载自blog.csdn.net/chang384915878/article/details/87919058