我试图创建一个GWT应用程序下面的结构,虽然这确实是一个Java问题:爪哇 - 力实现的接口来扩展类
ChatComponent
是一个标记接口,在它没有方法;它旨在标记可包含ChatMessage
的组件。- 所有聊天组件都是小部件,但不知道究竟是什么类型;我想允许聊天组件扩展他们想要的任何内容。
- 但是,我还希望所有聊天组件都是Widget的一些扩展,并将其反映在代码中。
基本上我想要的是能够说
List<Widget> list = new ArrayList<>();
list.add(new ChatComponent());
现在,这里的问题是显而易见的,接口不能扩展类,我不能使用抽象类,因为我想要的组件类能够扩展他们想要的任何东西;所以我不能在摘要中将Widget
分类,然后再扩展它。
有没有一个干净的方式来做到这一点?如果它不能在类层次结构中完成,但只能使用泛型和通配符方法完成,那也适用于我,但我无法真正想出一个可行的方法。
如果ChatComponent是一个接口,你将无法使用新的代码ChatComponent() – aglassman