Java 泛型;标记“”上的语法错误;扩展;,“预期”; 公共接口视图{。。。 公共接口控制{。。。 公共类远程控制实现控制{。。。

Java 泛型;标记“”上的语法错误;扩展;,“预期”; 公共接口视图{。。。 公共接口控制{。。。 公共类远程控制实现控制{。。。,java,generics,Java,Generics,为远程控制类的“V extends View”提供了一个“扩展标记上的语法错误”,应为“V extends View” 我想下面的选择是可能的 public interface View{... public interface Control<V extends View>{... public class RemoteControl<C extends Control<V extends View>> implements Control<V&g

为远程控制类的“V extends View”提供了一个“扩展标记上的语法错误”,应为“V extends View”

我想下面的选择是可能的

public interface View{...

public interface Control<V extends View>{...

public class RemoteControl<C extends Control<V extends View>> implements Control<V>{...
public class TVRemoteControl extends RemoteControl<TVControl> implements TVControl{...
公共类远程控制实现控制
{...
但我想知道这是否不能以一种更隐晦的方式实现,因为后者需要对视图进行冗余声明。即:

public class RemoteControl<C extends Control<V>,V extends View> implements Control<V>
{...
公共类TVRemoteControl扩展了RemoteControl实现TVControl{。。。
vs

公共类TVRemoteControl扩展了RemoteControl实现TVControl{。。。
也许我又被困在一个盒子里了,但是有没有可能以一种更优雅的方式获得“泛型”

你建议:

我想下面的选择是可能的

public interface View{...

public interface Control<V extends View>{...

public class RemoteControl<C extends Control<V extends View>> implements Control<V>{...
public class TVRemoteControl extends RemoteControl<TVControl> implements TVControl{...

然而,事实上,
Control
是在
V extends View
上输入的,
RemoteControl实现了控制
,而这恰恰表明你需要……

我试图想出一个解决方案,但我想你已经说过了:不能按照你想要的方式来做,你必须按照你后面描述的方式来做。尽管我不能在这里找到您的问题的任何线索,我将推荐您访问这个有用的站点:
public-class-remotecontrol如何我对所有java泛型问题都深表同情。。。
public class RemoteControl<V extends View, C extends Control<V>> implements Control<V>{}
public class RemoteControl<C extends Control> implements Control{}