日期:2014-05-20  浏览次数:20655 次

请问final的方法一定不能override吗?
Java code
class base {
  private final void t() {
  }
}

class ex extends base {
  private final void t() {
  }
}


请问 private的算override吗? 应该不算吧。。

------解决方案--------------------

------解决方案--------------------
不算.
因为子类根本就不知道超类中有t()这个方法.
------解决方案--------------------
不算。因为private无法继承,所以父类和子类的t()是两个函数
------解决方案--------------------

------解决方案--------------------
父类里的final和private都不能被override.你的代码里父类和子类里的两个同名函数,分别属于父类和子类,并没有什么关系.

------解决方案--------------------
private。。。子类根本看不到的。。。
而final void f() {}时,子类能看到,但是是final修饰,就不能Override了。
------解决方案--------------------
private 的都不能重写,因为子类是看不到的
而final修饰的是常识,是不能继承和重写的
------解决方案--------------------
private的只能本类才可以访问,子类是不可以访问的。
所以子类的方法t()不算override
如果父类final的方法用public来修饰的话,子类会编译出错。
------解决方案--------------------
大哥,你那 t() 是私有的,服了!
------解决方案--------------------
final 不能继承 . 重写
private 继承后的子类也是看不见私有的。


------解决方案--------------------
恩,的却不能覆盖
------解决方案--------------------
private和final都不能override.
------解决方案--------------------
探讨
请问 private 的算 override 吗? 应该不算吧。当然不算,私有的方法只有本类自己内部用到了,子类想访问都访问不到,何谈覆盖?

------解决方案--------------------
不算 final不能被继承 private子类不可以访问
------解决方案--------------------
不算
------解决方案--------------------
不算,final 就表示它已经绝子绝孙了。
------解决方案--------------------
pirvate 不可以继承,不可以重写,只能被类体身引用……
------解决方案--------------------
不算,子类里的那个是另外定义的一个方法,与父类的没关系。
------解决方案--------------------
当然不算了,要不然final有什么用?

------解决方案--------------------
呵呵
------解决方案--------------------
探讨
不算.
因为子类根本就不知道超类中有t()这个方法.