代码之家  ›  专栏  ›  技术社区  ›  Jayesh Dhandha

使用创建实例的流程GWT.创建和用户界面活页夹

  •  0
  • Jayesh Dhandha  · 技术社区  · 6 年前

    我正在浏览我们的GWT应用程序的代码。被困在下面的代码里。

    private static TestEditorUiBind uiBinder = GWT.create(TestEditorUiBind.class);
    
    interface TestEditorUiBind extends UiBinder<Widget,TestEditorViewImpl> {}
    

    这是我们班的开头两行。在这之后,我们使用 uiBinder.createAndBindUi(this);

    我知道 GWT.create 将创建 TestEditorUiBind 在运行时。

    但我不明白为什么我们要申报 测试员 接口在第2行,并在第1行使用 GWT.create公司 ? (我已经检查过了 测试员

    如果我理解错了,请纠正我。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Colin Alworth    6 年前

    由于Java语言是如何工作的,所以行的顺序无关紧要—声明了一种新类型(枚举、接口、类) 在内部 另一个类型实际上成为它自己的类型,不需要等待在该所有者类型中声明。看起来这两行代码都存在于 TestEditorViewImpl.java -假设如此,java编译器将实际创建两个编译的字节码文件:

    • TestEditorViewImpl.class
    • TestEditorViewImpl$TestEditorUiBind.class

    第一行只要求 TestEditorViewImpl$TestEditorUiBind ,它是在哪里被宣布的。

    所以是的,这个静态字段可能是项目中唯一使用该类型的地方,因为它是绑定 .ui.xml 给这个班。可以使用单例,因为这个绑定器没有状态,而只是填充 TestEditorViewImpl 基于它在 .用户界面.xml 文件。