黑马程序员技术交流社区

标题: 代码问题 [打印本页]

作者: 韩金蕊    时间: 2012-1-3 17:04
标题: 代码问题
本帖最后由 韩金蕊 于 2012-1-3 21:48 编辑

请问cont在程序中的作用?
public class Good {
public Contents cont(){
return new Contents(){
private int i = 11;
public int value() {
return i;
}
};
}
}
作者: 赵玮    时间: 2012-1-3 17:10
cont()返回了一个实现了接口Contents的类的对象
作者: 李盈科    时间: 2012-1-3 17:11
本帖最后由 李盈科 于 2012-1-3 17:25 编辑

cont应该就是要用Contents的匿名内部类重写 value()方法 从而得到 i 的值,我对代码进行了补全,你参考一下吧,刚才写错了。
  1. interface Contents{
  2.         public int value();
  3. }
  4. class Good
  5. {
  6.         public Contents cont()
  7.         {
  8.                 return new Contents()
  9.                 {
  10.                         private int i = 11;

  11.                         public int value()
  12.                         {
  13.                                 return i;
  14.                         }
  15.                 };
  16.         }
  17.         public static void main(String[] args)
  18.         {
  19.                
  20.                         Good good = new Good();
  21.                        
  22.                         System.out.println(good.cont().value());
  23.                
  24.         }
  25. }
复制代码

作者: 为梦而战    时间: 2012-1-3 17:15
我的粗浅理解是:cont(){}方法是为了封装匿名内部类Contents。这个类在cont方法中已经实例化了。调用它就可以得到Contents对象。
作者: 付星    时间: 2012-1-3 17:39
cont这个方法返回一个Contents 类型的匿名对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2