内联类(Inner class),静态内嵌类(static nested class)
主要区别:内联类可以访问定义在外围类(enclosing class)中的实例变量,而静态内嵌类不可以。
内联类式完全被封装在外围类中的。因为内联类可以引用外围类的实例变量,让其他代码有能力去创建内联类的实例式没有意义的。静态内嵌类可以被外部代码所使用,只要限定符不是private的,如Map.Entry。
静态内嵌类存在主要原因是:让其他类可以使用它,另外允许将其序列化。你不能序列化内联类对象,因为他们能够访问外围类的实例变量。要让序列化工作,序列化机制必须处理外围类的成员变量。
最后
以上就是贪玩滑板最近收集整理的关于内联类和静态内嵌类的全部内容,更多相关内联类和静态内嵌类内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复