Kann ich eine private Methode in Java überschreiben?

Ich weiß, dass ich Reflection verwenden kann, um eine private Methode aufzurufen und den Wert einer privaten Variablen abzurufen oder festzulegen, aber ich möchte eine Methode überschreiben.

public class SuperClass {

    public void printInt() {
        System.out.println("I am " + getClass() + ". The int is " + getInt());
    }

    private int getInt() {
        return 1;
    }
}

public class SubClass extends SuperClass {

    public static void main(String[] args) {
        (new SubClass()).printInt();
    }

    public int getInt() {
        return 2;
    }
}

Ich will dasmain Methode inSubClass ausdrucken2, aber es druckt aus1. Ich habe gehört, dass dies durch Reflektion geschehen kann, aber ich kann nicht herausfinden, wie. Wenn nicht Nachdenken, kennt jemand einen anderen Weg, es zu tun? (Anders als machenSuperClass.getInt() geschützt oder kopieren und einfügenprintInt() Methode inSubClass.) Wenn es nicht möglich ist, die private Methode tatsächlich zu überschreiben, gibt es eine Möglichkeit, einen Trigger darauf zu platzieren, der eine Methode in meiner Unterklasse entweder vor oder nach der Ausführung der privaten Methode aufruft?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage