如何在静态方法中将类用作参数

时间:2014-05-30 15:36:01

标签: java parameters reference static

我知道在静态方法中,您无法使用关键字"此"。

现在,我也知道如果我想调用我当前所在类的方法,我可以使用类名,

示例:Main.someStaticMethod();

现在,如果我想在参数中使用该类(与上例中的相同),我该怎么做?

Main.someStaticMethodWithParam(Main);

由于IDE认为main是一个参数,因此无法解决错误:未定义的变量。

1 个答案:

答案 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