public class method
{
private static class Foo
{
public void hello() { System.out.println("Foo"); }
}
private static class Bar
{
public void hello() { System.out.println("Bar"); }
}
private static <T> void hello(T typ)
{
typ.hello();
}
public static void main(String args[])
{
Foo foo = new Foo();
Bar bar = new Bar();
hello(foo);
hello(bar);
}
}
我在这里查看了有关泛型的其他问题,但是尽管我在那里看到了所有内容并将其应用于我编写的代码,但我的 Java 代码仍然存在问题。我已经解决了上面代码中遇到的问题。当我尝试编译上面的 codd 时,出现以下错误:
method.java:15: error: cannot find symbol
typ.hello();
^
symbol: method hello()
location: variable typ of type T
where T is a type-variable:
T extends Object declared in method <T>hello(T)
可能是我正在使用通用的东西做一些他们没有设计做的事情,但根据我对文档的理解,这应该有效。当然,我阅读文档的想法是我可以做这样的事情,这当然可能影响了我对它的理解。
谢谢