我想也许没有办法做到这一点,但我认为值得问一下。我想做以下类似的事情:
public class Super {
public static String print() { System.out.println(new Super().getClass().getSimpleName()); }
public Super() {}
}
public class Subclass extends Super {
public Subclass() {}
public void main(String[] args) {
Super.print();
Subclass.print();
}
}
我希望Super.print()显示“Super”,Subclass.print()显示“Subclass”。然而,我不知道如何在静态环境下实现这一点。感谢您的帮助。
我很清楚可以通过非静态方法来做到这一点,并且可以将一个类传递到每个方法调用中。但是,我不想这样做,因为这需要重新定义许多子类的静态方法。