欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

静态内部类与非静态内部类的区别?

程序员文章站 2022-07-14 12:04:38
...

重要:非静态内部类持有外部类的引用。

  • 是否拥有静态成员(属性,方法):

非静态内部类不可以有静态成员,静态内部类可以。

  • 访问外部类的成员区别

静态内部类只能直接访问外部类的静态成员,而非静态内部类可以访问外部类的所有成员。

  • 类的声明区别

静态内部类的声明不依赖外部类,而非静态内部类需要先有外部类,之后才能new。

# 静态内部类
OutClass.InnerClass innerClass =  new OutClass.InnerClass();
 
# 非静态内部类
OutClass.InnerClass innerClass = new OutClass().new InnerClass();

转载于:https://www.jianshu.com/p/184451ed23f7