分別講解內部類爲靜態和非靜態的時候,內部類的建立方式。
- 首先看下代碼:
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();