您当前的位置: 首页 > 

郭梧悠

暂无认证

  • 5浏览

    0关注

    402博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

浅析匿名内部类

郭梧悠 发布时间:2011-05-12 22:58:00 ,浏览量:5

public class Parcel7 {

  public Contents contents() {      return new Contents(){            private int i = 2;            public int value(){return i;}      };   } 

 public static void main(String[] args) {    Parcel7 p = new Parcel7();    Contents c = p.contents();    }

}

 

class Contents{}

先看这个代码,注意Contents类时空的,当读者试调用c.value();打印出i的值时,即System.out.println(c.value)时会发现编译器会提示找不到value()方法,这就很奇怪了,怎么会木有呢?于是我修改了Contents的代码,即

class Contents{

 

   private int i = 1;   public int value(){        return i;    } }

编译器提示了在匿名类的value方法添加override标注,于是明白了,原来匿名内部类是指创建一个继承于Contents的匿名对象。

所以读者在main函数里运行System.out.println(c.value());显然输出结果是2.而不是1

关注
打赏
1663674776
查看更多评论
立即登录/注册

微信扫码登录

0.0397s