Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GWT中,为什么约定使用asWidget()而不是强制转换?_Java_Gwt - Fatal编程技术网

Java 在GWT中,为什么约定使用asWidget()而不是强制转换?

Java 在GWT中,为什么约定使用asWidget()而不是强制转换?,java,gwt,Java,Gwt,我是GWT的新手。在我看到的代码示例中,演示者定义了一个包含asWidget方法的界面显示。 比如说, public interface Display { HasClickHandlers getSaveButton(); HasValue<String> getName(); ... Widget asWidget(); } 将显示器强制转换为小部件有什么问题,例如 container.add((Widget) display); 谢谢大家! asWi

我是GWT的新手。在我看到的代码示例中,演示者定义了一个包含asWidget方法的界面显示。 比如说,

public interface Display {
   HasClickHandlers getSaveButton();
   HasValue<String> getName();
   ...
   Widget asWidget();
}
将显示器强制转换为小部件有什么问题,例如

container.add((Widget) display);
谢谢大家!

asWidget()
位于GWT中,以方便测试

有了它,您可以在测试中使用显示和其他视图组件的存根实现,而无需扩展抽象类小部件

因此,在您的情况下,您的显示可以是任何类,不一定是小部件,唯一的条件是它返回一个小部件


你可以阅读更完整的解释

聪明。谢谢你的链接。
container.add((Widget) display);