静态内部类
如果一个类要被声明为static的,只有一种情况,就是静态内部类。如果在外部类声明为static,程序会编译都不会过。
1.静态内部类跟静态方法一样,只能调用外部的静态的成员变量和方法,不能访问非静态的方法和属性,但是普通内部类可以访问任意外部类的成员变量和方法
2.静态内部类可以声明普通成员变量和方法,而普通内部类不能声明static成员变量和方法。
应用:程序测试方面 减少主方法带来的额外代码
public class StaticInnerClass{
int x = 100;
static class Inner{
void doSomething(){};
public static void main(String args[]){
System.out.println("a");
}
}
}
编译之后会生成两个类 StaticInnerClass$Inner 和StaticInnerClass 只要使用java StaticInnerClass$Inner就可以运行主方法中的内容完成测试。 当需要打包时只需要删除StaticInnerClass$Inner类即可