如何判断哪个派生类调用覆盖基本方法

时间:2015-08-31 07:24:53

标签: java debugging inheritance

我正在使用Google Guava Event Bus调试Java应用程序。在基类中定义了一个HandleEvent方法,并且它被多次调用。我想在每次派生类调用时打印出来。什么样的调试方法可以做到这一点?我正在考虑使用Java反射,仍在研究如何做到这一点。

4 个答案:

答案 0 :(得分:2)

要获取派生类的名称,您只需使用getClass()

public void HandleEvent(...) {
    System.out.println("HandleEvent called for "+this.getClass().getName());
    ... // the rest of HandleEvent method
}

答案 1 :(得分:1)

您可以在基类下检查此对象是否为intanceof派生类,然后仅打印

答案 2 :(得分:1)

你应该能够做到

System.out.writeLine(getClass().getName())

在您的事件处理程序中获取此信息。

答案 3 :(得分:0)

在handleEvent方法中放入一个beak点,一个断点点击,你可以在调试器中看到调用帧(堆栈)。