【发布时间】:2021-01-06 04:24:13
【问题描述】:
我们可以通过临时变量调用静态方法吗?
有一个AA类
class AA {
static void test() {
}
}
class Main {
public static void main(String[] args) {
var aa = AA;
aa.test(); // Can we call static method via a temp vairble ?
}
}
为什么我有这个问题?因为我必须在重构工作中将所有实例调用样式修改为类静态样式。该方法之前是一个实例方法并使用局部变量来调用它,现在它变成了一个静态方法或类。所以我考虑是否有办法只修改变量。也许是幼稚。
直接,也许是这样,但不对。
Class<AA> aa = AA;
aa.test();
我知道通过实例调用静态方法也不是好方法。
我们知道在 Java 8 中有一种方法可以引用函数。那么还有其他更多的元功能来引用文字类吗?
【问题讨论】:
-
当然,试一试看看比问一个问题要容易...
-
@DanielMcLaury - 是和不是。 “试试看”方法的问题在于,如果您对正在发生的事情不够了解,您可能会选择错误的示例和/或从结果中得出错误的结论。 (但在这种情况下,“试试看”会向 OP 显示明显的编译错误。在示例中,
AA未声明为Variable的子类型。哎呀!) -
@StephenC:我怀疑这里的 OP 实际上是指
var而不是Variable。 -
可能是。无论哪种方式,当前版本都不会编译。
-
有一个预先存在的问题是同一件事:stackoverflow.com/q/32039657/217324
标签: java static-methods