1

我想在 Java 中初始化一个静态类变量:

public class NumberExpression {
    private static Class numberClass = Class.forName("java.lang.Number");
};

上面的代码段不起作用,因为Class.forName抛出了ClassNotFoundException. 像这样的东西new Integer().getClass()不起作用,因为Number它是一个抽象类。

我想我可以Class.forName围绕一个处理ClassNotFoundException.

编辑:

(“数字”类更改为“java.lang.Number”)

4

2 回答 2

5

它不起作用,因为该类Number不存在。你的意思是java.lang.Number

您可以尝试以下方法:

public class NumberExpression {
    private static Class numberClass;
    static {
        try {
            numberClass = Class.forName("java.lang.Number");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
};

但这仅在您尝试加载的类是动态的时才有意义,否则您可以使用它自己的类(即Number.class

于 2012-06-23T23:33:04.180 回答
4

你为什么不这样做:

private Class numberClass = Number.class;
于 2012-06-23T23:40:01.973 回答