六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 55|回复: 0

内部类思考

[复制链接]

升级  70%

9

主题

9

主题

9

主题

童生

Rank: 1

积分
35
 楼主| 发表于 2013-1-27 04:49:14 | 显示全部楼层 |阅读模式
一道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);   }   } 
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表