Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          類和對象.習題
          ?
          ?
          1、基本概念題:
          ?
          1.什么叫類?什么叫對象?
          ??? 類是相似對象中共同屬性和方法的集合體。對象是類的實例。
          ?
          2.對象怎樣得到內存空間的?垃圾對象怎樣回收的?
          ??? 對象的內存空間是在用戶需要時,用new運算符創建的。對象也有作用范圍,我們把超出作用范圍的對象(或稱不再被使用的對象)稱作垃圾對象。在Java中,收集和釋放內存是一個叫做自動垃圾回收線程的責任。自動垃圾回收線程在系統空閑時自動運行,這個線程監視用戶程序中所有對象的有效作用范圍,當某個對象超出其作用范圍時,該線程就對這樣的對象做上垃圾對象標識,并在適當的時候一次性回收這些垃圾對象。
          ?
          3.什么叫引用類型?對象是引用類型嗎?
          ??? 所謂引用類型,是指該類型的標識符表示的是一片內存連續地址的首地址。
          ??? 對象和數組一樣,也是引用類型。即對象定義后,系統將給對象標識符分配一個內存單元,用于存放實際對象在內存中的存放位置。

          4.類的修飾符共有幾種?分別是什么?
          ??? 類聲明的<修飾符>分為訪問控制符和類型說明符兩部分,分別用來說明該類的訪問權限以及該類是否為抽象類或最終類。
          ??? 訪問控制符:private、public和protected
          ??? 類型說明符:abstract和final
          ?
          5.共有幾種形式的變量?這些變量各自的用途是什么?
          ??? 變量可分為:
          ??? static:指明該成員變量是一個類成員變量
          ??? final:指明該成員變量是常量
          ??? transient:指明該成員變量是臨時變量。transient很少使用。
          ?
          6.成員變量和成員方法的修飾符共有幾種?各自的訪問權限是什么?
          ??? 有private、public和protected三種
          ??? private:修飾符表示該成員變量只能被該類本身訪問,任何其他類都不能訪問該成員變量。
          ??? protected:修飾符表示該成員變量除可以被該類本身和同一個包的類訪問外,還可以被它的子類(包括同一個包中的子類和不同包中的子類)訪問。
          ??? public:修飾符表示該成員變量可以被所有類訪問。
          ?
          ??? 成員方法相同。

          7.同一個包中類的成員(包括成員變量和方法)用什么修飾符修飾,就只可以互相訪問?
          ??? private

          8.類的成員(包括成員變量和方法)的protected訪問權限是什么?
          ??? 表示該成員變量除可以被該類本身和同一個包的類訪問外,還可以被它的子類(包括同一個包中的子類和不同包中的子類)訪問。
          ?
          9.什么叫實例成員變量?什么叫類成員變量?各有什么用途?
          ??? 類成員變量就是類中聲明的變量,實例成員變量是方法中聲明的變量。
          ??? 類成員變量可以直接調用,實例成員變量必須通過實例引用,可實現數據封裝。
          ??? (自己理解的,不知道對不對)
          ?
          10.什么叫實例方法?什么叫類方法?設計類方法時有什么要求?
          ??? 類方法又稱靜態方法(static method),是不屬于特定對象的方法,可以訪問靜態變量,但不可以直接訪問實例變量。
          ??? 實例方法是一個特定實例的方法,其執行必須要有一個對象的存在。
          ??? 詳細信息參見: http://www.cnblogs.com/Ivony/archive/2006/06/30/439377.html
          ?
          11.什么叫方法的重寫?構造方法可以重寫嗎?方法重寫在面向對象程序設計中有什么意義?
          ??? 所謂方法重寫(overloading),是指一個方法名定義了多個方法實現。方法重寫時要求,不同的方法,其參數類型或參數個數要有所不同。
          ??? 構造方法可以重寫。
          ??? 其面向對象程序設計中的意義:保證了對象的多樣性和靈活性。
          ???
          12.敘述編寫和運行帶有自定義包Java程序的操作步驟。
          ??? 總結編寫、運行上述帶有自定義包Java程序的操作步驟如下:
          ??? (1)創建文件夾。如在本地計算機的d盤創建文件夾MyPackage(d:\MyPackage)
          ??? (2)在環境變量中添加自定義包的路徑。如在autoexec.bat文件的classpath參數中添加d:\(注意:若在Windows98下,則設置完成后要運行一下該批處理文件)
          ??? (3)編譯包中類的.java文件。如在DOS下執行命令:javac Date1.java
          ??? (4)把編譯成功的.class文件移入包中。如把當前工作路徑下的Date1.class文件移動到文件夾d:\MyPackage中
          ??? (5)編譯導入包的.java文件。如在DOS下執行命令:javac UseDate.java
          ??? (6)運行導入包的.class文件。如在DOS下執行命令:java UseDate

          13.什么叫內部類
          ??? 內嵌于另一個類中的類稱為內部類。
          ??? 當一個類只在某個類中使用,并且不允許除外部類外的其他類訪問時,可考慮把該類設計成內部類。
          ??? 內部類具有以下特性:
          ? 內部類作為外部類的成員。Java將內部類作為外部類的一個成員,因此內部類可以訪問外部類的私有成員變量或方法。
          ? 內部類的類名只能用在外部類和內部類自身中。當外部類引用內部類時,必須給出完整的名稱,且內部類的類名不能與外部類的類名相同。
          ??? 在實際的Java程序設計中,內部類主要用來實現接口。
          ?
          14.什么叫類的封裝性?類的封裝性在面向對象程序設計中有什么意義?
          ??? 類的封裝性是指類把成員變量和方法封裝為一個整體,這就劃分了模塊的界限。
          ??? 保證模塊正確性的措施則是由信息的隱藏性來實現的
          ?
          ?
          ?
          2、程序設計題:
          ?
          15.對于下面設計的類A,哪一個方法是構造方法?
          ?? public class A
          ?? {
          ?? public void A () {}
          ?? public class A() {}
          ?? public static class A () {}
          ?? public static void class A() {}
          ?? }
          ??? public static A()

          16.下面哪些main()方法是不正確的?
          ?? public static void main()
          ?? public void static main(String [] args)
          ?? public static void main(String args)
          ?? public static void main(String args[])
          ??? public static void main(String[] args)
          ?
          17.設計一個復數類。要求復數類包括實數和虛數兩個成員變量,同時類中應包含復數運算的各種方法。例如方法應包括:兩個復數的加、減、乘、除等。復數的格式應該是:實數+虛數。最后,編寫一個測試程序進行測試。
          18.設計一個日期類,其輸出格式是:“月/日/年”或“June 13,1993”。利用構造方法重寫技術設計適合上面輸出格式的構造方法。類中的輸出方法也要利用方法重寫技術來滿足上述的輸出格式。最后,編寫一個測試程序來測試所定義的日期類能否實現預定的功能。

          19.設計一個分數類。要求分數類包括分子和分母兩個成員變量,同時類中應包含分數運算的各種方法。例如方法應包括:兩個分數的加、減、乘、除等。分數的格式應該是:分子/分母。最后,編寫一個測試程序進行測試。
          20.設計一個電視機類。成員變量包括商品編號、商品型號、生產廠家、大小、重量、開關狀態等,同時設計一些方法對電視機的狀態進行控制。例如方法應包括:開/關電視機、更換頻道、提高/減小音量等。要求商品編號要自動生成。
          注意:有些成員變量應定義成靜態的(static);控制和操縱靜態成員變量的方法應是靜態的(static)。

          21.編寫一個基本賬戶類。成員變量包含有賬號、儲戶姓名和存款余額等。方法有存款和取款等。編寫一個測試程序來測試所定義的賬戶類能否實現預定的功能。
          22.設計一個長方形類。成員變量包括長度和寬度。類中除了包含計算周長和面積的方法外,還應該能夠用set方法來設置長方形的長度和寬度,以及能夠用get方法來獲得長方形的長度和寬度。最后,編寫一個測試程序來測試所定義的長方形類能否實現預定的功能。
          要求:使用自定義包方法。

          23.設計一個日期類,其輸出格式是:“月/日/年”或“June 13,1993”,并編寫一個測試程序來測試所定義的日期類能否實現預定的功能。
          要求:把所設計的日期類作為測試類的內部類。

          24.設計一個汽車類,其成員變量包括:顏色、品牌、車門、車燈、行駛速度等。其方法包括:打開車門、打開車燈、加速、減速等。可以根據自己對汽車的了解來設計類中的成員變量和方法。在方法中用輸出方法名稱的方式來表示這個方法已被調用。最后,編寫一個測試程序來測試所定義的汽車類能否實現預定的功能。
          ?
          ?
          ?
          ?
          posted on 2008-09-22 21:06 decode360 閱讀(297) 評論(0)  編輯  收藏 所屬分類: 04.Java

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阿瓦提县| 三亚市| 本溪市| 杭锦旗| 县级市| 巴南区| 朝阳县| 丘北县| 青铜峡市| 登封市| 白河县| 奉化市| 崇州市| 哈密市| 昔阳县| 高唐县| 桃园县| 乌拉特前旗| 吐鲁番市| 永靖县| 兰溪市| 上犹县| 榕江县| 高台县| 隆德县| 昌都县| 绵阳市| 延津县| 东安县| 肇东市| 连南| 桃江县| 阳江市| 珲春市| 扎囊县| 健康| 抚州市| 邻水| 丰宁| 海门市| 延津县|