Existe alguma maneira de proibir a classe filho de chamar o método público de super classe em java?
Existe alguma maneira de proibir a classe filho de chamar o método público de super classe em java?
Por exemplo
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.
Mas eu não quero que o cachorro possa ligarsuper.quark (); e eu também não quero mudar o
modificador do método quark em Animal para particular. Existe alguma maneira de impedir isso na compilação?
Fiquei confuso alguns dias, quem pode me ajudar ........
A razão pela qual faço isso é que encontrei o problema semelhante aohudson scm plugin.EU
criou a classe que estende o SubversionSCM (a classe oficial). eu só queria
substitua o método público da superclasse e chame o método público de super como
exemplo. mas a compilação deu erro. Não sei por que, como isso poderia acontecer? Dose java tem
algo comorefletir maneiras para evitar isso?