我有一个代码:
abstract void run();
public void start() {
Logger log = Logger.getLogger(Test.class.getName());
try {
run();
} catch (Exception e) {
log.warn(e.getMessage());
}
}
我可以执行 start()
例如:
object1.start();
object2.start();
object3.start();
如何检查 start()
是哪个对象(名称对象)启动了方法 start()
?
最佳答案
没有自动方法可以做到这一点; Java 中的对象不必有名称。
一种解决方案是:
public void start(String name) {
Logger log = Logger.getLogger(name);
}
这是可行的,因为记录器可以有任意名称。许多记录器使用类的名称,因为这是一种简单且自动的命名记录器的方法。但这不是必要的。
关于java - 谁调用了一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820300/