分别讲解内部类为静态和非静态的时候,内部类的建立方式。
- 首先看下代码:
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();