JAVA面向對象程序設計(第二版) 袁紹欣 第五章答案
阿新 • • 發佈:2019-04-07
面向對象 屬性和方法 return tostring 成員 sta 克隆對象 方法名 保護
1.面向對象的主要特征是什麽?
封裝、繼承、多態
2.封裝是如何實現的?
封裝通過訪問控制符實現的,只有通過授權才能訪問數據。
3.對象之間如何相互作用?作用的條件是什麽?
通過消息,擁有訪問類數據成員或成員方法的權限。
4.protected修飾符的特點?
只有包內其它類、自己和子類可以訪問。
5.Object都有哪些方法?
Object clone()?//克隆對象 boolean equals()?//判斷兩個引用是否指向同一個對象 void finalize()?//釋放對象 int hashCode()?//獲得代表對象特有的 hashcode 整數 String toString()?//代表對象的字符串 void notify()?//線程同步中喚醒等待線程 void wait()//線程同步中線程等待
6.重載的方法之間一般有什麽關系?
方法名相同,而參數不同。返回類型可以相同也可以不同。
7.子類覆蓋父類方法需要什麽條件?子類中定義與父類同名的方法一定是覆蓋嗎?
方法名,參數,返回類型全部相同,內容不同。不一定
8.封裝、繼承和多態在面向對象設計中的用途是什麽?
封裝可以保護類的數據成員,隱藏信息。
子類繼承父類的屬性和方法後,不用重新編寫代碼,提高了代碼復用性。
多態最重要的是子類的功能可以被父類的引用調用,向後兼容。
9.設計Src和Dis兩個類,Src中有一個被封裝的屬性,類型類 int ,每當通過特定方法更改Src對象中的這個屬性後,Dis對象都能得到通知,並向Src發消息獲得此屬性值。
public class Src{ int num; Dis dis; Src(int n){ if(n>0) num = n; } void SetDis(Dis d){ dis = d; } void Change(int n){ if(n>0&&n!=num) { num = n; dis.print(); } } int getNum(){ return num; } public static void main(String[] args) { Src src = new Src(1); Dis dis = new Dis(src); src.SetDis(dis); for(int i=0;i<5;i++) { src.Change(i); } } } public class Dis{ Src src; Dis(Src s){ src = s; } void print(){ System.out.println("num被改變為:"+src.getNum()); } } /* 結果: num被改變為:2 num被改變為:3 num被改變為:4 */
JAVA面向對象程序設計(第二版) 袁紹欣 第五章答案