色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 匿名類和內部類

江奕云1年前7瀏覽0評論

在Java中,匿名類和內部類都是常用的編程技巧。它們的不同之處在于,內部類有名稱,而匿名類沒有名稱。在下面的段落中,我們將更詳細地討論這兩種類的區別。

內部類

內部類不同于普通類,它是聲明在另一個類的內部。內部類可以訪問外部類的所有成員,包括私有成員。內部類分為靜態內部類和非靜態內部類(成員內部類)兩種:

public class Outer {
private int outerVar;
public void outerMethod() {
// 外部類方法內部定義內部類
Inner inner = this.new Inner();
}
class Inner {
void innerMethod() {
// 內部類可以訪問外部類的私有成員
int var = outerVar;
}
}
static class StaticInner {
// 靜態內部類不能訪問外部類的非靜態成員
}
}

匿名類

匿名類是一種特殊的內部類,它沒有名字。它通常用于創建只使用一次的類的對象。匿名類的定義和使用通常發生在同一個位置:

interface MyInterface {
void doSomething();
}
public class AnonymousClassDemo {
public static void main(String[] args) {
// 創建一個匿名類的對象
MyInterface obj = new MyInterface() {
public void doSomething() {
System.out.println("Do something!");
}
};
obj.doSomething(); // 輸出 Do something!
}
}

在上面的例子中,我們創建了一個實現了MyInterface接口的匿名類對象,并調用了它的doSomething方法。

總結

內部類和匿名類是Java中常用的編程技巧。內部類可以訪問外部類的所有成員,而匿名類通常用于創建只使用一次的類的對象。通過合理地使用這兩種類,我們可以使我們的代碼更加靈活、簡潔。