静态类和内部类的区别是什么

2024-12-19 17:34:37
推荐回答(2个)
回答1:

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

除此之外,在任何非静态内部类中,都不能有静态数据,静态方法或者又一个静态内部类(内部类的嵌套可以不止一层)。不过静态内部类中却可以拥有这一切。

回答2:

静态类在内在中只存在一次,其它方法可以直接使用; 内部类存在于主类内部,如果要使用需要先创建外部主类再创建内部类