Java开发杂谈(六)final关键字

final可以修饰非抽象类、非抽象方法、变量或常量。

final类不能被继承,final类的方法默认都是final的。

final方法不能被子方法覆盖,但可以被继承。这有两个作用,一是防止被修改实现,二是编译器处理调用final方法时转入内联机制(inline),执行效率高。inline的原理是在编译的时候直接调用方法代码替换,而不是在运行时调用方法,因此效率较高。但如果代码块过大,每次都替换,会使得编译效率很低。

final成员变量表示常量,只能被赋值一次 。初始化时可不赋值,被称为final空白,编译器会确保final变量被使用前初始化。

猜你喜欢

转载自blog.csdn.net/ss1300460973/article/details/85638922