|
假设有一个泛型接口 Foo,接口声明了一个方法 void print(E e) 可以将传入的参数 e 打印出来。
我可以在外部用一个实现类 Bar 实现这个接口,将print()的参数限定为 Number 的子类,例如 Integer, Double,并将其打印出来。
现在我想用一个匿名内部类去实现 Bar 的功能。代码如下:
interface Foo {void print(E e);}
class Bar implements Foo{
@Override
public void print(T t) { System.out.println("Bar 的t参数为:" + t); }
}
//我希望用匿名类去实现泛型接口 Foo ,它的功能像实现类 Bar 一样,可以传入任意类型的参数,并将其打印出来。
public class Test{
public static void main(String[] args) {
System.out.println("=====bar1=====");
//bar1 可以处理 Number 的子类:Integer, Double 等。
Bar bar1 = new Bar();
bar1.print(Integer.valueOf(123)); bar1.print(Double.valueOf(0.001));
System.out.println("=====bar2=====");
//匿名内部类 bar2
Foo |
|