浏览 12932 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-01
我知道ArrayList其实在维护一个数组,那这个初始化方式产生了几个数组? List extensions = new ArrayList() {{ add("action");}}; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-02-01
我想我搞明白了:
ArrayList是一个类,如果这样写: ArrayList list=new ArrayList(){{add("action");}}; ArrayList作为匿名的内部类生成一个实例,把引用赋给list {add("action");}作为这个内部类的初始化代码块而 存在的 这种写法相当于: public class Test { private String a; {add("asdfasdf");} //相当于在这里写初始化代码块 public void add(String a) { this.a=a; } public String getA() { return a; } public void setA(String a) { this.a = a; } public static void main(String[] str) { Test test=new Test (); System.out.println(test.getA()); } } |
|
返回顶楼 | |