读书人

内部类匿名类是怎么定义的

发布时间: 2012-03-07 09:13:51 作者: rapoo

内部类匿名类是如何定义的?
有什么特征吗?

[解决办法]
匿名内部类的小例子

Java code
public class Parcel {    public Contents contents() {        return new Contents() {            private int i = 50;            public int value() {                return i;            }        };    }    public static void main(String[] args) {        Parcel p = new Parcel();        Contents c = p.contents();    }}
[解决办法]
lz比较输出
Java code
public static void main(String[] args){        List list = new List() {            private int i = 50;            public int value() {                return i;            }            public boolean add(Object e) {                return false;            }            public void add(int index, Object element) {            }            public boolean addAll(Collection c) {                return false;            }            public boolean addAll(int index, Collection c) {                return false;            }            public void clear() {            }            public boolean contains(Object o) {                return false;            }            public boolean containsAll(Collection c) {                return false;            }            public Object get(int index) {                return null;            }            public int indexOf(Object o) {                return 0;            }            public boolean isEmpty() {                return false;            }            public Iterator iterator() {                return null;            }            public int lastIndexOf(Object o) {                return 0;            }            public ListIterator listIterator() {                return null;            }            public ListIterator listIterator(int index) {                return null;            }            public boolean remove(Object o) {                return false;            }            public Object remove(int index) {                return null;            }            public boolean removeAll(Collection c) {                return false;            }            public boolean retainAll(Collection c) {                return false;            }            public Object set(int index, Object element) {                return null;            }            public int size() {                return 0;            }            public List subList(int fromIndex, int toIndex) {                return null;            }            public Object[] toArray() {                return null;            }            public Object[] toArray(Object[] a) {                return null;            }        };        System.out.println(new ArrayList().getClass().getName());        System.out.println(list.getClass().getName());    }
[解决办法]
探讨
2楼的程序调试都通不过!

[解决办法]
http://blog.csdn.net/ZangXT/archive/2008/07/28/2726427.aspx
曾经分析过内部类的一些原理,可以看看。

读书人网 >J2SE开发

热点推荐