一道TJ4的练习题:
创建一个至少一个方法的接口,在某个方法某作用域内定义一个内部类以实现此接口,这个方法返回对此接口的引用.
interface Contents
{
void value(int i );
}
public class Destination
{
private int i = 0;
Contents c(int i )
{
if(i > 10)
{
class InnerContents implements Contents
{
public void value(int i ){ System.out.println(Integer.toString(i)); }
}
return new InnerContents();//这是一个向上转型
}
return null;//因为方法类型为Contents, 帮返回null
//return new InnerContents(); //无法编译,InnerContents在if作用域以外不可用
//return new Contents() ;//无法编译,无法创建一个adstract的接口的实例,
//这意味着要创建一个接口或abstract的类的实例,只能通过向上转型
}
public static void main(String [] args)
{
Destination d = new Destination();
d.c(11).value(15);
}
}