在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();
}
}