java - 谁调用了一个方法?

标签 java

我有一个代码:

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/

相关文章:

java - 什么是内容存储库中的工作空间?

java - 输出超大二维数组

java - 处理(多线程)socket 服务器 new serverSocket

java - 是否可以使用微基准框架只对某些语句计时?

java - 将 json 转换为对象列表

java - Mockito 4.6.1 不适用于 Spring Boot

java - 如何使用配置文件运行 gradle?重复 key : spring

java - BlueCove、笔记本电脑和带蓝牙的 Android 平板电脑

java - 使用 Java 8 update101 HashMap.entries 无法转换为 Collection

java - 日文字体显示问题