小编Mus*_*Map的帖子

为什么要使用私有静态内部类?违背了静态内部类的目的?

我已经阅读了所有我能找到的关于静态内部类的文章,据我了解:

  • 可以创建静态内部类的实例,而无需事先创建外部类。这是静态内部类和非静态内部类之间的主要区别之一。

但没有一篇文章回答这个问题:

如果拥有静态内部类的目的是为了可以在没有外部类的情况下创建它,为什么还要拥有私有静态内部类呢

例如,Java 的 LinkedList 实现包含private static class Node<E>. 如果我们尝试实例化LinkedList<String>.Node<String>它,它将不起作用,因为它是私有的。我也不明白为什么你想要创建一个没有 LinkedList 的 Node,因为你只使用 LinkedList 的 add() 接口。那么这不能只是一个非静态内部类吗?

对我来说,内部类的私有和静态似乎是矛盾的,如果你想同时私有和静态那就很奇怪了。那么有人可以解释一下我缺少什么吗?

谢谢!

java static private inner-classes

5
推荐指数
1
解决办法
2068
查看次数

标签 统计

inner-classes ×1

java ×1

private ×1

static ×1