我正在尝试编译这个新类:
public class WindowedGame
extends GameContainer<GameType extends Game<Graphics2D>> {
...
}
这个类扩展了类:
public abstract class GameContainer<GameType extends Game<?>> {
....
}
你能否建议我纠正或向我解释为什么我会收到错误:
意外的界限
谢谢!
答案 0 :(得分:7)
GameType
是泛型类型参数名称,因此不能在extends
子句中。
如果WindowedGame
应该是通用的,请将其定义为
public class WindowedGame<GameType extends Game<Graphics2D>>
extends GameContainer<GameType> {
...
}
如果WindowedGame
不是通用的,也许您打算将其定义为
public class WindowedGame
extends GameContainer<Game<Graphics2D>> {
...
}
BTW,泛型类型参数名称的命名约定通常是单个大写字符(T
,E
等...)。如果不是GameType
而是写T
,那就不那么容易混淆了。
public class WindowedGame<T extends Game<Graphics2D>>
extends GameContainer<T> {
...
}
public abstract class GameContainer<T extends Game<?>> {
....
}