在Java中,内部类是定义在其他类内部的类。内部类可以访问外部类的成员变量和方法,甚至可以访问外部类的私有成员。内部类可以分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。
定义内部类的方法如下:
public class OuterClass {
private int x;
public class InnerClass {
public void display() {
System.out.println("Value of x: " + x);
}
}
}
public class OuterClass {
public void display() {
class InnerClass {
public void display() {
System.out.println("Inside Local Inner Class");
}
}
InnerClass inner = new InnerClass();
inner.display();
}
}
public class OuterClass {
public void print() {
new Object() {
public void display() {
System.out.println("Inside Anonymous Inner Class");
}
}.display();
}
}
public class OuterClass {
static class InnerClass {
public void display() {
System.out.println("Inside Static Inner Class");
}
}
}
使用内部类的方法如下:
public class Main {
public static void main(String[] args) {
OuterClass outer = new OuterClass();
// 使用成员内部类
OuterClass.InnerClass inner = outer.new InnerClass();
inner.display();
// 使用局部内部类
outer.display();
// 使用匿名内部类
outer.print();
// 使用静态内部类
OuterClass.InnerClass staticInner = new OuterClass.InnerClass();
staticInner.display();
}
}