Static修饰的内部类
/** * static 修饰内部类 * * Java里面static一般用来修饰成员变量或函数,但有一种特殊用法是用static修饰内部类。 * 普通类是不允许声明为静态的,只有内部类才可以。 * 被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类 * * @author Leizhi 2016/6/24 * @see * @since 1.0 */public class StaticInnerClass{ public static class innerStaticClass { innerStaticClass() { System.out.println("------------I am a inner class--------------"); } }}
非静态内部类
/** * 非静态内部内 * * @author Leizhi 2016/6/24 * @see * @since 1.0 */public class GeneralInnerClass{ public class InnerClass { InnerClass() { System.out.println("------------I am a common class---------"); } }}
内部类测试
/** * 内部内测试 * * @author Leizhi 2016/6/24 * @see * @since 1.0 */public class TestInnerClass{ public static void main(String[] args) { /** * 调用静态内部类 */ new StaticInnerClass.innerStaticClass(); /** * 调用非静态内部类 */ GeneralInnerClass generalInnerClass = new GeneralInnerClass(); generalInnerClass.new InnerClass(); //new GeneralInnerClass().InnerClass(); //error }}
输出结果