GWT Расширение интерфейса констант - PullRequest
0 голосов
/ 12 февраля 2012

Я использую интерфейс констант GWT. у меня есть класс класса экземпляра, который создает экземпляр Java MyConstants с использованием средства GWT.create (Class), а затем удерживает его для использования других.

public class LocaleMsgReader {

    private static LocaleMsgReader INSTANCE = new LocaleMsgReader();
    private static ErrorMessages errorMessages;

    private LocaleMsgReader () {

    }

    public void init (){
        errorMessages =  (ErrorMessages) GWT.create(ErrorMessages.class);
    }

    public ErrorMessages getErrorMessages() {
        return errorMessages;
    }

    public static LocaleMsgReader getInstance() {
        return INSTANCE;
    }
}

в методе init он создает экземпляр java, но когда я вызываю метод getErrorMessages (), я получаю нулевое значение. почему?

1 Ответ

2 голосов
/ 13 февраля 2012

Вы создаете одноэлементный экземпляр для LocalMsgReader, поэтому сделайте errorMessages переменной экземпляра вместо переменной класса, удалив static, и создайте его экземпляр в конструкторе.

public class LocaleMsgReader {

    private static LocaleMsgReader INSTANCE = new LocaleMsgReader();
    private ErrorMessages errorMessages;

    private LocaleMsgReader () {
        this.errorMessages =  (ErrorMessages) GWT.create(ErrorMessages.class);
    }

    public ErrorMessages getErrorMessages() {
        return errorMessages;
    }

    public static LocaleMsgReader getInstance() {
        return INSTANCE;
    }
}
...