資源描述:
《Java語言程序設(shè)計第2版(鄭莉)課后習(xí)題答案》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、--Java語言程序設(shè)計第2版(鄭莉)第二章習(xí)題答案1.什么是對象、類,它們之間的聯(lián)系?答:1)對象是包含現(xiàn)實世界物體特征的抽象實體,它反映系統(tǒng)為之保存信息和與它交互的能力。對象是一些屬性及服務(wù)的封裝體,在程序設(shè)計領(lǐng)域,可以用“對象=數(shù)據(jù)+作用于這些數(shù)據(jù)上的操作”來表示?,F(xiàn)實生活中對象是指客觀世界的實體;在程序中對象是指一組變量和相關(guān)方法的集合。2)類是既有相同操作功能和相同的數(shù)據(jù)格式的對象的集合與抽象!3)兩者的關(guān)系:對象是類的具體實例.。2.什么是面向?qū)ο蟮某绦蛟O(shè)計方法?它有那些基本特征?答:面向?qū)ο蟪绦蛟O(shè)計從所處理的數(shù)據(jù)入手,以數(shù)據(jù)為中心而不是以服務(wù)為中心來描述系統(tǒng)。
2、它把編程問題視為一個數(shù)據(jù)集合,數(shù)據(jù)相對于功能而言,具有更強的穩(wěn)定性。它的特征:抽象,封裝,繼承,多態(tài)。3(無用)4.請解釋類屬性、實例屬性及其區(qū)別。答:實例屬性,由一個個的實例用來存儲所有實例都需要的屬性信息,不同實例的屬性值可能會不同。5.請解釋類方法、實例屬性及其區(qū)別。答:實例方法表示特定對象的行為,在聲明時前面不加static修飾符,在使用時需要發(fā)送給一個類實例。類方法也稱為靜態(tài)方法,在方法聲明時前面需加static修飾符,類方法表示具體實例中類對象的共有行為。區(qū)別:實例方法可以直接訪問實例變量,調(diào)用實例方法,實例方法可以直接訪問類變-----量,調(diào)用類方法;類方法可
3、以直接調(diào)用類變量和類方法,類方法不能直接調(diào)用實例變量和實例方法;6.類的訪問控制符有哪幾種?具體含義及其區(qū)別。答:類的訪問控制符只有public(公共類)及無修飾符(默認類)兩種。區(qū)別:當使用public修飾符時表示所有其他的類都可以使用此類;當沒有修飾符時,則只有與此類處于同一包中的其他類可以使用類。7類成員的訪問控制符有哪幾種?他們對類成員分別有哪些訪問限制的作用?答:類成員的訪問控制符有public,private,protecte及無修飾符.public(公有的):用public修飾的成分表示公有的,也就是它可以被其他任何對象訪問(前提是對累成員所在的類訪問有訪問權(quán)
4、限).Private(保護的):類中限定為private的成員只能被這個類本身訪問,在類外不可見。proteced(保護的)用該關(guān)鍵字修飾的成分是受保護的,只可以被同一類及其子類的實例對象訪問。無修飾符(默認的):public,private,protected這個三個限定符不是必須寫的。如果不寫,則表明是“friendly”,相應(yīng)的成分可以被所在保重的各類訪問。8簡述構(gòu)造方法的特點?答:構(gòu)造方法主要有以下特點:(1)構(gòu)造方法的方法名與類名相同;(2)構(gòu)造方法沒有返回類型(修飾符void也不能有);(3)構(gòu)造方法通常被聲明為公有的(public);(4)構(gòu)造方法可以有任意多
5、個參數(shù);(5)構(gòu)造方法的主要作用是完成對象的初始化工作;(6)構(gòu)造方法不能在程序中顯式的調(diào)用;-----(7)在生成一個對象時,系統(tǒng)會自動調(diào)用該類的構(gòu)造方法為新生成的對象初始化。9如果在類聲明中聲明了構(gòu)造方法,系統(tǒng)是否還提供默認的構(gòu)造方法?答:用戶在進行類聲明時,如果沒有聲明任何構(gòu)造方法,系統(tǒng)會賦給此類一個默認(無參)的構(gòu)造方法。但是,只要用戶聲明了構(gòu)造方法,即使沒有聲明無參的構(gòu)造方法,系統(tǒng)也不會再賦默認的構(gòu)造方法。10:聲明Patient類表示在門診室中的病人。此類對象應(yīng)包括name(astring)\sex(achar)、age(aninteger)、weight(af
6、loat0、allergies(aboolean).聲明存取及修改方法。在一個單獨的累中,聲明測試方法,并生成兩個patient的例子:Atientapril=newPatient();April.setname(“zhangli”)April.setSex(‘f’);;April.setage(330;April.setweigeht(154.72);April.setalolergies(true);System.out.println(“那么:”+april.getname());System.out.println(“sex:”+april.getsex());Sy
7、stem.out.println(“age:”+april.getage());System.outprintln(“weught:”+april.getweight());System.out.println(“allergies:”+april.getallergies());聲明并測試toString()方法顯示一個病人的aga、sex、name及allergies屬性。答:publicclassPatient{-----privateStringname;privatecharsex;privateint