时间:01-20人气:13作者:莫浅忆素颜
静态内部类属于外部类本身,而非静态内部类属于外部类的实例。静态内部类可以直接访问外部类的静态成员,非静态内部类可以直接访问外部类的所有成员。静态内部类不需要依赖外部类实例,非静态内部类必须在外部类实例存在时才能创建。
区别
静态内部类:它是外部类的独立部分,不持有外部类的引用。创建静态内部类对象时,不需要先创建外部类对象。它只能访问外部类的静态变量和方法,适合与外部类逻辑关联但不需要访问实例数据的场景。比如工具类或辅助类。
非静态内部类:它是外部类实例的成员,隐式持有外部类的引用。创建非静态内部类对象时,必须先有外部类对象。它可以自由访问外部类的所有成员,包括私有成员,适合需要紧密耦合外部类实例状态的场景。比如事件处理器或适配器。
注意:本站部分文字内容、图片由网友投稿,如侵权请联系删除,联系邮箱:happy56812@qq.com