简单来说,内部类(inner class)指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。
那么对于内部类,该如何去使用呢?
下面给出静态成员类(Static Member Class)和普通成员类(Member Class)使用的方式。
package cuc;
import cuc.TestClass.Inner1;
public class Main {
public static void main(String args[]) {
//静态的内部类
TestClass.Inner1 inner1 = new Inner1(); //和普通的顶层类new的方法一样
inner1.report();
//普通内部成员类
TestClass tc = new TestClass();
TestClass.Inner2 inner2 = tc.new Inner2(); //注意这里的使用方式
inner2.report();
}
}
两种内部类的定义如下:
package cuc;
public class TestClass {
//静态成员类
public static class Inner1{
public void report(){
System.out.println("This is a inner class. (NOT static)");
}
}
//普通内部成员类
public class Inner2{
public void report(){
System.out.println("This is a static inner class.");
}
}
}
【参考资料】:
1、java - 内部类(Inner Class)详解