GWT扩展常量接口

时间:2012-02-12 07:34:28

标签: gwt internationalization constants

我正在使用GWT的常量接口。我有一个实例类,它使用GWT.create(Class)工具创建MyConstants的Java实例,然后保留它,供其他人使用。

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()时,我得到null。 为什么呢?

1 个答案:

答案 0 :(得分:2)

你正在为LocalMsgReader创建一个单例实例,所以通过删除静态来使errorMessages成为实例变量而不是类变量,并在构造函数中实例化它。

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;
    }
}