分别讲解内部类为静态和非静态的时候,内部类的创建方式。
首先看下代码:
public class OutClass { public OutClass() { //外部类直接创建内部类对象 new InnerClass(); } public void outMethod() { new InnerClass(); System.out.println("OutClass.outMethod"); } /** * 非静态内部类 * @author Administrator * */ public class InnerClass{ public void innerMethod() { System.out.println("InnerClass.innerMethod"); } } /** * 静态内部类 * @author Administrator * */ public static class StaticInnerClass{ public void staticInnerMethod() { System.out.println("StaticInnerClass.staticInnerMethod"); } } public static void main(String[] args) { OutClass outClass=new OutClass(); //如果内部类不是静态的,创建内部类的对象的方式 InnerClass innerClass=outClass.new InnerClass(); //如果内部类是静态的,创建内部类对象的方式 StaticInnerClass staticInnerClass=new StaticInnerClass(); }}
总结一下吧
1:在外部类的方法里面可以直接创建内部类对象即new InnerClass()
2 : 静态内部类的创建对象方式: StaticInnerClass staticInnerClass=new StaticInnerClass();
3:非静态内部类的创建方式:OutClass outClass=new OutClass(); InnerClass innerClass=outClass.new InnerClass();