java final关键字使用及面试题重点
1. 在java中声明类、属性和方法时,可以使用关键字final来修饰,表示“最终的”。
- final修饰类:(俗称太监类不能有孩子)
提高安全性,提高程序的可读性
这个类就不能被继承。如:String类、StringBuffer类、System类//class SubString extends String{ // //} final class A{ } //class B extends A{ // //}
付:后续需要知道final 与 finally finalize()区别
Object.finalize()//辣鸡回收的,显示把内存中对象清理掉
2.java 面试题final关键字知识点,例题
- 排除错误例题一
/* * 错误,调用方法的时候已经对x进行赋值,不能再对其进行++操作。 */ public class Something { public int addOne(final int x) { return ++x; } }
- 排除错误例题二
/* * 正确,因为final修饰的类,但++的却是其对象,说明类属性改变,类不一定跟着改变 */ public class Something { public static void main(String[] args) { Other o = new Other(); new Something().addOne(o); } public void addOne(final Other o) { o.i++; } } class Other { public int i; }