Я хочу, чтобы инициализировать переменную статического класса в Java:Инициализация статической переменной класса, известный во время компиляции в Java
public class NumberExpression {
private static Class numberClass = Class.forName("java.lang.Number");
};
выше фрагмент кода не работает, потому что Class.forName
бросает ClassNotFoundException
. Что-то вроде new Integer().getClass()
не будет работать, потому что Number
- абстрактный класс.
Я полагаю, что смогу обернуть Class.forName
вокруг статического метода, который обрабатывает ClassNotFoundException
, но есть ли более элегантный/стандартный способ получить то, что я хочу?
Edit:
(класс "Число" изменено на "java.lang.Number")
Да, вы правы. Но даже после того, как я его изменил, компилятор все еще жалуется на то, что исключение нужно поймать. – math4tots
@ math4tots: Тогда поймайте исключение! –
@ OliCharlesworth Как? это статическая переменная, поэтому я не знаю, где я должен ее установить. Из того, что я понимаю, я не думаю, что могу уловить исключения в классе ... – math4tots