内部类思考
一道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]