[Java] Java内部静态类
Java内部静态类
Java内部静态类和静态方法实际上属于完全不同的两个意思。静态成员或者静态变量一般指的是只有一个,静态内部类并没有这个属性。
在Java当中内部类可以声明为static的,或者普通的内部类。
两者的区别表现在下面。
一、普通的内部类拥有外部类的引用,因此外部类的成员和方法对于内部类是可见的;但是static内部类,不能看到外部类的属性和方法,这样就增加了封装性和代码的可读性(和外部类没有多大的关系)
二、两者的声明方式是不一样的。
对于普通内部类是依赖于外部类对象实例,因此需要首先外部类声明之后,才能声明内部类;static内部类可以跳过外部类的声明。
1.普通内部类
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
2、静态内部类
Outer.Inner inner = new Outer.Inner();