2010-09-30 72 views
2

我閱讀GWT的UIBinder和第一代碼片段的文檔讓我困惑:在JAVA中實例化接口?

public class HelloWorld extends UIObject { // Could extend Widget instead 
    interface MyUiBinder extends UiBinder<DivElement, HelloWorld> {} 
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); 

    @UiField SpanElement nameSpan; 

    public HelloWorld() { 
    // createAndBindUi initializes this.nameSpan 
    setElement(uiBinder.createAndBindUi(this)); 
    } 
} 

在第二行中的接口在本地創建擴展了UiBinder接口。但是,在第三行中,此接口的一個實例使用GWT.create()創建。

這怎麼可能?沒有一個類實現了MyUiBinder,所以它不能實例化,對吧?

回答

0

這裏有一個old answer(舊的SO條款;),覆蓋相同的主題)。

據我所知:它不起作用,但知道如何創建一個給定接口的實例(在你的例子中的一些MyUIBinderGenerator)的發電機的幫助。並且該生成器必須在某個gwt.xml文件中實現和發佈。