在乙個類的內部定義的類稱為內部類。
1、內部類的基本語法
頂層類只能處於public和預設訪問級別,而成員內部類可以處於四種訪問級別。
示例1:
class outer
public
class innertool
public
intadd(int a,int b)
}private innertool tool=new innertool(); //建立乙個內部類的例項物件tool
public
void
add(int a,int b,int c)
}//測試類
public
class tester
}
分析:
(1)outer o=new outer()執行時,先建立outer類的成員,首先對應於:private innertool tool=new innertool();呼叫innertool的建構函式,輸出「內部類innertool的例項物件建立了!」,然後輸出outer類構造方法中的輸出語句「外部類outer的例項物件建立了!」
(2)o.add(1, 2, 3)執行時,先執行tool.add(tool.add(a, b), c)中第二個內部類tool.add()方法,再執行第乙個內部類tool.add()方法,最後再執行外部類add()方法。
(3)outer.innertool tool=new outer().new innertool();執行時,先建立outer外部類的例項物件,過程同(1)步,再執行new innertool()。
輸出如下:
內部類innertool的例項物件建立了!
外部類outer的例項物件建立了!
內部類inner的add方法執行了,返回值為3
內部類inner的add方法執行了,返回值為6
外部類outer的add方法執行了,結果為:6
內部類innertool的例項物件建立了!
外部類outer的例項物件建立了!
內部類innertool的例項物件建立了!
第15章 物件導向程式設計
派生類中的虛函式可以返回基類函式所返回型別的派生類的引用或指標。只有指定為虛函式的成員函式才能進行動態繫結。派生類可以進一步限制但不能放鬆對所繼承的成員的訪問。使用private或protected派生的類不繼承基類的介面,稱為實現繼承。使用class保留字定義的派生類預設具有private繼承,而...
Java物件導向程式設計 第5章思考題
1 執行以下 將得到什麼列印結果?int i 3 int j 0 double k 3.2 if i if i j system.out.println i else system.out.println j else system.out.println k 列印結果 0。2 以下 能否編譯通過?...
第4章 物件導向程式設計 1 物件導向基礎
類和物件 物件的建立和使用 面向過程 pop 面向過程以實現功能的函式開發為主,強調的是功能行為,以函式為最小單位,考慮怎麼做。物件導向 oop 物件導向,將功能封裝進物件,強調具備了功能的物件,以類 物件為最小單位,考慮誰來做。步驟建立類,設計類的成員。類的語法格式如下 建立類的物件。語法格式如下...