修饰变量。以下方法只能选一个

  • 在变量的等号右边直接赋值。private final  int a =6;
  • 在构造函数中赋值。
  • 在类的初始代码块中赋值(不常用 )private static final  int a =6;static{a=7}

class xx{

void testFinal(){

final int b = 5;

intc c;

}

}

 

修饰方法,不允许修饰构造方法,引申:static方法不能被重写

 

修饰类不可被继承 

String就是final修饰的

 

注意点 

修饰对象,引用不可变,属性可以变

 

对象不可变

  • 对象创建后,状态不能修改
  • 所有属性都是final修饰
  • 对象创建过程中没有溢出

 

不变性和final的关系

  • 不变性并不意味着,简单的用 final修饰就是不可变
  • 对于基本数据类型,确实被final修饰后就具有不变性

 

final变量

相关文章: