使用静态内部类
这个问题在这里已经有了答案:
一个静态的内部类与外部类(在这种情况下是LinkedStack
)相关联,而不是与它的一个实例相关联。 对于非静态内部类,应该有外部类的封闭实例。 如果Node
不是静态的,则意味着对于存在的任何Node
实例,必须有一个包含该实例的LinkedStack
实例。
将Node
类作为静态使它更像是一个不绑定到外部类的实例的顶级类。 因此,其他类可以创建Node
实例,而无需创建任何LinkedStack
实例。
有关差异的更多详细信息,请参阅Java教程中的嵌套类。
不,静态内部类是不需要包含类型实例的类,在方法或字段的上下文中使用时,与静态类不同。 对于内部类essentailly来说,静态使他们成为顶级课程。 当你声明一个非静态的内部类时,它可以隐式地访问外部类型的实例字段和方法,从而使这个类型的实例成为一个需求。 静态类没有那么奢侈,因此不需要包含类型的实例。
链接地址: http://www.djcxy.com/p/92011.html