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

java 內部類和外部類

呂致盈1年前8瀏覽0評論

Java中的內部類和外部類是兩種不同的類定義方式,它們有許多不同的特點和用途。

內部類是定義在另一個類中的類,在內部類中可以訪問外部類的成員變量和成員方法,內部類可以分為靜態內部類和非靜態內部類。非靜態內部類中不能定義靜態變量和靜態方法,但它可以訪問外部類的任何成員變量和方法。靜態內部類中可以定義靜態變量和靜態方法,但不能直接訪問外部類的非靜態變量和方法,需要通過創建外部類對象來訪問。

public class OuterClass {
private int num;
public void display() {
InnerClass inner = new InnerClass();
inner.print();
}
class InnerClass {
public void print() {
System.out.println("num is " + num);
}
}
}

上面的例子中,InnerClass 是 OuterClass 的非靜態內部類,它可以直接訪問 outer.num,這是因為 InnerClass 是一個成員類,具有訪問權限。

另一方面,外部類是獨立的類,它可以訪問內部類的成員變量和成員方法,但內部類不能直接訪問外部類的成員變量和成員方法。外部類可以定義靜態變量和靜態方法,在靜態方法中不能使用 this 關鍵字,因為在靜態方法中沒有 this 對象。

public class OuterClass {
private static int age;
private int num;
public static void display() {
InnerClass inner = new InnerClass();
inner.print();
}
static class InnerClass {
public void print() {
System.out.println("age is " + age);
}
}
}

上面的例子中,InnerClass 是 OuterClass 的靜態內部類,它可以直接訪問 outer.age,但不能直接訪問 outer.num。

內部類和外部類都有自己的特點和用途,合理使用它們可以讓代碼更加簡潔和靈活。