返回

如何使Java方法在静态上下文中调用时表现出不同的行为?

发布时间:2022-05-01 12:53:08 341
# 移动端

我有一个依赖于非静态信息的非静态方法:

public void printStatusDebugOnly(String status) {
    if (debug) {
        System.out.println(this.getName() + " " + status);
    }
}

但我也希望使用相同的名称和签名调用类似的函数,而不使用对象,在这种情况下,它将执行不需要任何实例信息的行为。

public static void printStatusDebugOnly(String status) {
    if (debug) {
        System.out.println(status);
    }
}

静态布尔值;“调试”;属于这个类,这就是为什么把其中一个放在另一个类中没有多大意义,并不是说这是不可能的。不过,我更愿意把它们放在一起,因为它们显然是相关的。

这些方法能共存吗?或者,是否有一种方法可以让一个方法检测调用它的上下文,以便它可以相应地进行分支?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像