java中的final相当于C++中的const,但是还有些差别。final的用法基本如下:
修饰某个字段:如果字段是基本类型,表面该字段不能更改,如果是引用,表面该引用不能更改,即不能指向别的引用,但是该引用的指向的对象是可以更改的。通常和static修饰一起使用,表示该常量有且仅有一份且不能更改,通常全用大写,类似于C/C++中的宏。
修饰方法:该方法不能被覆盖,所有private方法都默认是final类型的。如果在导出类中,定义一个基类的private方法,那么不是覆盖,而是从新定义了一个方法。
修饰参数:参数在调用方法内不能修改,目的是传递参数给匿名方法以保护参数。
修饰类:表面不希望继承,所以final类的方法都默认是final的。