java 普通内部类和静态内部类

区别1:

普通内部类实例化后的对象持有外部类的引用,在非静态类内部可以访问外部类的成员;静态内部类实例化不持有外部对象引用,不能访问外面的方法和成员;

从耦合度上来讲,普通内部类跟外部类耦合程度很高,静态内部类跟外部类耦合程度很低;

区别2:

外部类静态方法中,无法创建普通内部类对象,可以创建静态内部类对象;可以把普通内部类和静态内部类近似为普通成员与静态成员,静态方法不可以访问普通成员;

原文地址:https://www.cnblogs.com/tengpan-cn/p/8967880.html