java中有没有办法禁止子类调用超类的public方法?
例如
public abstract class TObject{
abstract public void quark();
}
public class Animal extends TObject{
public void quark(){
System.out.println("this is the animal");
}
}
public class Dog extends Animal{
@overide
public void quark(){
System.out.println("this is the animal");
**super.quark();**
}
}
In this example, The Dog call the **super.quark();** in it's quark method.
但我不想让狗打电话超级夸克();我也不想改变
Animal 中夸克方法的修饰符为 private。有什么办法可以在编译时防止这种情况发生吗?
这几天很迷茫,谁能帮帮我。。。。。
我这样做的原因是我在开发过程中遇到了类似的问题哈德森单片机插件.I
创建了扩展 SubversionSCM 的类(官方类)。我只是想
重写超类的公共方法,然后调用超类的公共方法,就像
例子。但是联合收割机有错误。我不知道为什么,怎么办?剂量java有
就像是反映方式是为了防止这种情况发生吗?
不,根据定义public
您无法阻止该方法被调用(无论是从派生类还是其他任何地方)。你当然可以阻止它被覆盖(从而确保用于调用它的语法不会使用super
;-) 通过制作它final
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)