Есть ли способ запретить классу сына вызывать публичный метод суперкласса в Java?

Есть ли способ запретить классу сына вызывать публичный метод суперкласса в Java?

Например

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.

Но я не хочу, чтобы собака могла звонитьsuper.quark (); и я тоже не хочу менять

модификатор метода кварков в Animal для частного. Есть ли способ предотвратить это в компиляции?

Я запутался пару дней, кто может, elp me ........

Причина, по которой я это делаю, заключается в том, что я столкнулся с аналогичной проблемойплагин hudson scm

создал класс, который расширяет SubversionSCM (официальный класс). Я только хотел

переопределить открытый метод суперкласса, затем вызвать открытый метод супер как

пример. но компиляция выдала ошибку. Я не знаю, почему, как это могло сделать? Доза ява есть

что-то вродеотражать путьЧтобы предотвратить это?

Ответы на вопрос(3)

Ваш ответ на вопрос