我有一個接口實例化一個通用接口
public interface Foo<T> {
public void bar(String s, T t);
}
我想寫一個方法
public void baz() {
String hi = "Hello";
String bye = "Bye";
Foo<String> foo = new Foo() {
public void bar(String s, String t) {
System.out.println(s);
System.out.println(s);
}
};
foo.bar(hi,bye);
}
我得到一個錯誤
<anonymous Test$1> is not abstract and does not override abstract method bar(String,Object) in Foo
Foo<String> foo = new Foo() {
我是相當新到Java,我相信這是一個簡單的錯誤。我怎麼寫這個?
除OP沒有使用'<>'操作符 - 他使用原始'Foo'。 –
你是說在Java 7中'new Foo'和'new Foo <>'是一樣的嗎?我沒有意識到這一點。 –
nopes,我從來沒有說過,他們不是一樣的,'新的Foo <>'(不適用於不同類的)不適用於java 7,因爲引入了類型推斷。 – PermGenError