静态类和内部类的区别是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态类和内部类的区别是啥相关的知识,希望对你有一定的参考价值。

和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和C++中的嵌套类很相像了,Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用这一点上,当然从设计的角度以及以它一些细节来讲还有区别。

除此之外,在任何非静态内部类中,都不能有静态数据,静态方法或者又一个静态内部类(内部类的嵌套可以不止一层)。不过静态内部类中却可以拥有这一切。
参考技术A 静态类在内在中只存在一次,其它方法可以直接使用; 内部类存在于主类内部,如果要使用需要先创建外部主类再创建内部类

静态内部类和非静态内部类的区别

  静态属性和方法 访问外部类的属性和方法 实例化
静态内部类 只能访问静态的 依赖于外部类的实例
非静态内部类 所有 可以直接实例化

以上是关于静态类和内部类的区别是啥的主要内容,如果未能解决你的问题,请参考以下文章

内部类和静态内部类有什么区别?

静态内部类和非静态内部类的区别

静态内部类和非静态内部类的区别

Java中内部类和静态内部类的区别

java 内部类和静态内部类的区别

Java面试题|静态内部类和非静态内部类有什么区别?