final 关键字有什么作用?

final 表示不可变的意思,可以用于修饰类、属性和方法:

  • 当类被 final 修饰时,该类不可被继承,即不能有子类。
  • 当方法被 final 修饰时,该方法不可被子类重写或覆盖。
  • 当变量被 final 修饰时,该变量是不可变的,也就是它的值不能被修改。被 final 修饰的变量必须在声明时或构造方法中被显式指定初始值,一旦被赋值后就不能再改变。需要注意的是,这里的不可变指的是变量的引用不可变,而不是引用指向的内容不可变。

例如:

final StringBuilder sb = new StringBuilder("abc");
sb.append("d");
System.out.println(sb);  //abcd

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题