【发布时间】:2014-04-20 11:44:47
【问题描述】:
我试图了解为什么以下内容无法编译。
public class AnimalHolder<T super Animal> {
T animal;
public static void main(String[] args) {
AnimalHolder<Object> objectHolder = new AnimalHolder<Object>();
}
}
据我了解,我可以使用 IS A Animal 或 Animal 的超类型(在本例中为 Object)。谁能解释一下?
编译器消息:
AnimalHolder.java:15: error: > expected
public class AnimalHolder<T super Animal> {
^
AnimalHolder.java:15: error: <identifier> expected
public class AnimalHolder<T super Animal> {
^
AnimalHolder.java:17: error: illegal start of expression
public static void main(String[] args) {
^
AnimalHolder.java:17: error: illegal start of expression
public static void main(String[] args) {
^
AnimalHolder.java:17: error: ';' expected
public static void main(String[] args) {
^
AnimalHolder.java:17: error: '.class' expected
public static void main(String[] args) {
^
AnimalHolder.java:17: error: ';' expected
public static void main(String[] args) {
^
AnimalHolder.java:21: error: reached end of file while parsing
}
^
8 errors
【问题讨论】:
-
如果您有关于编译失败的问题,总是发布编译错误消息!