final修饰的方法,子类能否继承

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:11:36
怎么什么答案都有
方法不可重写,但可以继承对吧

“方法不可重写,但可以继承对吧!”
这句话就说明你对继承、多态的概念没弄明白。
“final修饰的方法,子类能否继承”
这个题目本来就问得有问题.
记住:final 用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。

  1. Final类

    当关键字fina用来修饰类时,其含义是该类不能在派生子类。换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问限制为public类型,也不能被继承;否则,将编译报错。

    那么什么时候应该使用final修饰类呢?只有当需要确保类中的所有方法都不被重写时才应该建立最终(final)类,final关键字将为这些方法提供安全,没有任何人能够重写final类中方法,因为不能继承。

  2. Final方法

    当用final关键字修饰方法后,该方法在子类中将无法重写,只能继承。

    要恰当使用final的方法,只有在子类覆盖某个方法会带来问题时,再将此方法设为final的方法,一般情况下可以不必使用。因为防止子类覆盖会丢失一些面向对象的优点,包括通过覆盖实现的可扩展性。





final 用于声明属性,方法和类,分别表示属性不可变,方法不可重写,类不可继承。

final 修饰符的意思就是不允许子类重写。

什么答案都有是因为大家对你“继承”一词的理解不一样。

可以继承,但不能重写。
 “使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将
final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些
优化了。“