jaywee 发表于 2013-1-27 04:49:14

内部类思考

一道TJ4的练习题:
 
创建一个至少一个方法的接口,在某个方法某作用域内定义一个内部类以实现此接口,这个方法返回对此接口的引用.
interface Contents{void value(int i );}public class Destination{private int i = 0;    Contentsc(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);   }   } 
 
 
页: [1]
查看完整版本: 内部类思考