java修饰符final

1、final修饰的类不可有子类、不可以继承。

    当将类定义为final时,就表明了你不打算继承该类,而且也不也许别人这样做。换句话说,出于某种考虑,你对该类的设计永不需要做任何变动,或者出于安全的考虑,你不希望他有子类。

    由于final是无法继承的,所以被final修饰的类中的方法都隐式的制定为fianl,因为你无法覆盖他们。在fianl类中可以给方法添加final,但这不会产生任何意义。

     若final类中的变量没有定义为final类型,那么final类中的变量值可以改变。

2、final修饰的方法不可以重写。

     final修饰的实例方法在其子类中不能被替换。

     final 修饰的静态方法不能在其子类中重新定义而隐藏。

      使用final方法有两个原因。第一个原因是把方法锁定,以防止任何继承它的类修改它的含义。这是出于设计的考虑:

                                       第二个原因是想要确保在继承中使用的方法保持不变,并且不会被覆盖。

 http://blog.csdn.net/niguang09/article/details/6035813

http://blog.sina.com.cn/s/blog_515015800100g97h.html

http://wenku.baidu.com/view/5f69acf49e3143323968931e.html

原文地址:https://www.cnblogs.com/sunson/p/3078126.html