欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java的內部類和外部類區別

李明濤1年前8瀏覽0評論

Java中的內部類和外部類是面向對象程序設計中的兩個重要概念。內部類指的是一個類中定義的另一個類,而外部類則是獨立存在的一個類。下面我們來具體分析它們之間的區別。

首先,內部類和外部類的作用范圍不同。內部類作為外部類的成員,可以訪問它的私有成員和方法。而外部類無法訪問內部類的私有成員和方法,只能通過內部類提供的接口來訪問。

public class OuterClass {
private int x = 10;
public class InnerClass {
private int y = 20;
public int getSum() {
return x + y;
}
}
public void printSum() {
InnerClass inner = new InnerClass();
System.out.println(inner.getSum());
}
}
OuterClass outer = new OuterClass();
outer.printSum(); //輸出30

以上代碼中,內部類InnerClass可以訪問外部類OuterClass的私有成員x,從而計算出x和它自己的y的和。而外部類OuterClass只能通過調用內部類InnerClass提供的接口去獲得這個和。

其次,內部類可以擁有不同的訪問權限。內部類可以被聲明為public、protected、package以及private等四種訪問權限中的任何一種,而外部類只能被聲明為public或默認訪問權限(沒有加修飾符)。

public class OuterClass {
private int x = 10;
public class InnerClass {
private int y = 20;
//...some methods
}
private class PrivateInnerClass {
private int z = 30;
//...some methods
}
//...some methods
}
OuterClass.InnerClass inner = new OuterClass.InnerClass();  //在外部類外部訪問內部類
OuterClass.PrivateInnerClass privateInner = new OuterClass.PrivateInnerClass();  //只能在外部類內部訪問私有內部類

以上代碼中的InnerClass是public訪問權限的,可以在外部類外部進行訪問。而PrivateInnerClass是private訪問權限的,只能在外部類內部進行訪問。

總之,內部類和外部類在使用時需要注意其作用范圍和訪問權限的不同。但是這些差異可以讓我們更好地利用Java的面向對象特性,編寫更加靈活可擴展的程序。