我知道在静态方法中,您无法使用关键字"此"。
现在,我也知道如果我想调用我当前所在类的方法,我可以使用类名,
示例:Main.someStaticMethod();
现在,如果我想在参数中使用该类(与上例中的相同),我该怎么做?
Main.someStaticMethodWithParam(Main);
由于IDE认为main是一个参数,因此无法解决错误:未定义的变量。
答案 0 :(得分:1)
您应该将类的实例传递给静态方法:
public class Main {
private int x;
public static <T> void printClassName(Class<T> clazz) {
System.out.println(clazz.getName());
}
public static void main() {
printClassName(Main.class);
}
}
打印(假设类不在包内):
Main