java中final类 跟final方法 的final有什么不同?
来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:11:13
final方法
将方法声明为final那有两个原因,第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。第二就是允许编译器将所有对此方法的调用转化为inline(行内)调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
final类
当你将final用于类身上时,你就需要仔细考虑,因为一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。对于final类中的成员,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final类中的方法加上一个final,但这显然没有意义。 如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。
将方法声明为final那有两个原因,第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。第二就是允许编译器将所有对此方法的调用转化为inline(行内)调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
final类
当你将final用于类身上时,你就需要仔细考虑,因为一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。对于final类中的成员,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final类中的方法加上一个final,但这显然没有意义。 如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。
java中final类 跟final方法 的final有什么不同?
java中final类 跟final方法 的final有什么不同?
JAVA中final的用法2
java 中final关键字用在函数前有什么作用?
Java关键字final, static的用法总结
关于final方法
java中的修饰符static与静态方法final的用法
Java中static、this、super、final用法(转载)_BB小家
Renaud Waldura‘s The Final Word On the final Keyword
如何将 Word 的修订视图模式设置为 Final?
如何将 Word 的修订视图模式设置为 Final?
FIFA.com: Artists poised for Final showdown
Foobar2000 v1.1.1 Final 汉化版_foobar2000_cnBeta...
SmartDraw Suite Edition v7.2.0 Final 英文套装正式版
Oprea Mini v3.0.6306 Final - S60资源专区 - Series...
最后时刻 第五季(Final)<再见理想>
最后时刻 第五季(Final)<再见理想> 02
最后时刻 第五季(Final)<再见理想>03
Neocons, Israel, Latin America, and Other Final Thoughts and Questions
Foobar2000 V0.9.6.8 Final完美者绿色增强版
世界之窗 (TheWorld) V3.0.5.7 Final 绿色正式版
网易音乐盒 V1.1.0.0 Final 绿色免费版
Total Commander (文件管理器) 7.50 Final 中文绿色美化版
复活节假期:巴黎2.5日游-5 final (卢浮宫)