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