码迷,mamicode.com
首页 > 编程语言 > 详细

Java 静态内部类的使用

时间:2014-10-04 01:37:05      阅读:478      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   java   文件   sp   div   

以前一直以为静态内部类没用,现在发现在特定条件下使用静态内部类会更加方便.

静态内部类的使用最佳的示例莫过于jdk里面的LinkedList类了.

查看LinkedList的源码,LinkedList的节点用一个静态内部类Node表示,代码如下

   private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }

为什么节点要用静态内部类?

1.首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。

2.随着类的加载而产生

3.由于LinkedList实现了Serializable接口,而内部类使用的是编译器产生的合成域来保存指向外围实例的引用,以及保存来自外围作用域的局部变量的值.这些域如何对应到类中是没有明确规定的,因此内部类的内部实现是定义不清楚的.[1]

 

 

[1] Effective Java 2nd Edition

Java 静态内部类的使用

标签:style   blog   color   io   使用   java   文件   sp   div   

原文地址:http://www.cnblogs.com/geekcon/p/4005481.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!