1.測試內部類
注意:若想調用內部類方法在創建內部類對象是需要在new前加上創建的外部類名稱+ . 來實現創建內部類對象。
//外部類Outer
public class Outer{
// 內部類Inner,類Inner在類Outer的內部
public class Inner{
// 內部類的方法
public void show(){
System.out.println("*** I love you");
}
}
public static void main(String[] args){
// 創建外部類對象
Outer o = new Outer();
// 創建內部類對象
Inner i = o.new Inner();
// 調用內部類對象的方法
i.show();
}
}
運行截圖:
2.測試靜態類和靜態內部類
分析: 在外部類中創建一個類並用static來修飾這個類,及若想在內部類定義的方法中得到內部類定義的變量時需要在變量前加上外部類名稱+ . 再加上變量名的形式來獲取變量。
代碼示例:
//外部類
public class SOuter {
// 外部類中的靜態變量score
private static int score = 84;
// 創建靜態內部類
public static class SInner {
// 內部類中的變量score
int score = 91;
public void show() {
System.out.println("訪問外部類中的score:" + SOuter.score );
System.out.println("訪問內部類中的score:" + score);
}
}
// 測試靜態內部類
public static void main(String[] args) {
// 直接創建內部類的對象
SInner si = new SInner();
// 調用show方法
si.show();
}
}
3.用外部類的對象去調用內部類的方法
//外部類
public class SOuterMethod {
private String name = "*** 我愛你";
// 外部類中的show方法
public void show() {
// 定義方法內部類
class MInner {
int num = 2990;
public int getScore() {
return num + 10;
}
}
// 創建方法內部類的對象
MInner mi = new MInner();
// 調用內部類的方法
int newNum = mi.getScore();
System.out.println( name + ":愛你" + newNum+ "遍");
}
// 測試方法內部類
public static void main(String[] args) {
// 創建外部類的對象
SOuterMethod sm = new SOuterMethod();
// 調用外部類的方法
sm.show();
}
}