final关键字可以修饰成员,方法,类
1、修饰数据
当final修饰基本数据类型时,表示常量值,不能修改。修饰对象时,声明时指向一个具体的对象,表示对象句柄不能再指向其它对象,但是对象本身是可以修改的。final修饰数据时,要么定义时初始化,要么在构造器中初始化。当final修改变量列表时,表示在函数体内不能修改变量句柄指向的内容。
2、修饰方法
修饰方法,一是为了防止继承类覆盖或修改方法,二是提高运行效率,final修饰的方法在调用时是直接将代码嵌入到调用中,类似于c++中内联函数,更重要的是关闭动态绑定
3、修饰类
表示类不希望被继承,即不希望子类化。