首頁 培訓計劃 培訓課程 企業內訓 學員論壇 技術文章 成功案例 師資簡介 關于我們 在線留言  
J2EE開發資料
Java編程那些事兒

文章來源: 作者: 發布日期:2008-07-29
打 印】【關 閉

  (class)Java語言的最小編程單位,也是設計和實現Java程序的基礎,本部分將深入介紹類的相關知識。

8.2.1 類的概念

         類是一組事物共有特征和功能的描述。類是對于一組事物的總體描述,是按照面向對象技術進行設計時最小的單位,也是組成項目的最基本的模塊。

         類的概念是抽象的,類似于建筑設計中的圖紙,是對于現實需要代表的具體內容的抽象。類只包含框架結構,而不包含具體的數據。所以類代表的是總體,而不代表某個特定的個體。

         例如設計電腦(computer)這個類,電腦是一組事物,則該類中包含的常見特征如下:

l  類型:筆記本或臺式機

l  內存容量

l  硬盤容量

l  CPU類型

l  屏幕尺寸

l  主板類型

對于每一臺具體的電腦來說,每個特征都有自己具體的數值,或者說是將特征數據具體化,而類需要代表的是總體特征,只需要具備特征的類型和結構,不需要具有具體的數值,因為一般一組事物的某個特征的數值都是不盡相同的,但是都統一的具備該特征。

同理,如果設計登錄模塊中的用戶(user)類,則該類中包含的常見特征如下:

l  用戶名

l  密碼

對于每個具體的用戶來說,都有自己特定的用戶名和密碼,但是對于用戶這個類來說,只需要具備用戶名和密碼這兩個特征的類型和結構即可。從這里也可以很直觀的體會到,類是抽象的,是一組事物共有特征的描述。

上面是對于類結構具體特征的描述,其實類中除了包含特征的描述以外,還可以包含該類事物共有的功能,這些功能也是類的核心內容。

例如電腦這個類,包含的基本功能有:

l  打開

l  關閉

用戶這個類,包含的基本功能有:

l  登錄

通過在類的內部包含共有的功能,使得每個類都可以在內部實現一些規定的功能,從而減少和外部的交互,降低整個項目的復雜度。

這就是面向對象技術中類的概念的基本描述,每個類就代表一組事物,通過基本的特征和功能實現該類事物在項目內部的表達。

         以上是從設計角度理解類的概念,其實從語法角度理解類的概念也很簡單,類就是一種復合數據類型,或者說是一種程序員設計的新類型。因為在實際開發中,程序員可以根據需要聲明新的類,所以在面向對象的開發中,程序員可以根據需要設計新的數據類型——類,從而實現項目要求的功能。

         把設計角度中類的概念,轉換為語法角度類的概念,是每個面向對象技術初學者都必須經歷的階段,通過進行該轉換,可以把虛擬的類的概念轉換成具體的類的概念,也是面向對象技術入門的標志。

         對于一組事物來說,共有的特征和功能有很多,在實際抽象成類時,只需要抽象出實際項目中的需要的屬性和功能即可。

8.2.2 類的聲明

         類是一種復合數據類型,則聲明一個類就相當于創建了一種新的數據類型,在面向對象技術中就通過不斷的創建新的數據類型來增強程序可以代表的數據的能力。

         類聲明總體的語法格式如下:

                   訪問控制符  [修飾符]  class   類名{

                            [屬性聲明]

                            [方法聲明]

                            [構造方法聲明]

                   }

         說明:該語法格式中中括號內部的部分為可選。

         其中訪問控制符用于限定聲明的類在多大范圍內可以被其它的類訪問,主要有默認訪問控制符(無關鍵字)public;修飾符用于增強類的功能,使聲明的類具備某種特定的能力;class是聲明類時使用的關鍵字;類名是一個標識符,用于作為新聲明的類的名稱,要求必須符合標識符的命名規范。注:在Java語言的編碼規范中,類名第一個字母要求大寫。

         例如如下示例:

                   public class Computer{}

                   class User{}

         接著的大括號內部用于聲明類的內部結構,類內部一般包括三類聲明,且這三類聲明都是可選的。說明如下:

l  屬性聲明

用于代表共有特征

l  方法聲明

用于代碼共有功能

l  構造方法聲明

用于初始化類的變量

         下面是這些聲明的詳細說明。

8.2.2.1 屬性聲明

         屬性,有些翻譯為域、字段等,屬性是類內部代表共有特征的結構,或者可以把屬性理解為類的某個具體特征,類通過一系列的屬性來代表一種新的數據類型。對于類比較基礎的理解就是通過多個屬性組合成的新的數據類型,這也是復合數據類型的由來。

         屬性聲明的語法格式如下:

                   訪問控制符 [修飾符] 數據類型 屬性名[=];

         屬性的訪問控制符限定該屬性被訪問的范圍,包含如下四種:public、protected、默認的(無關鍵字)private,分別代表不同的訪問限制,具體的限制范圍后續將有詳細說明。

         修飾符用于使屬性具備某種特定的功能。

         數據類型為該屬性的類型,可以是Java語言中的任意數據類型,也就是說,既可以是基本數據類型也可以是復合數據類型。

         屬性名是一個標識符,用于代表該屬性的名稱,在聲明屬性時的同時可以為該屬性進行賦值。

         示例格式為:

                   public  int  cpuType;

                   public  char  sex = ‘’;

         在實際聲明屬性時,也可以一次聲明多個屬性,例如:

                   public  int  x = 10, y = 20;

         不過為了程序結構的清晰,一般書寫為如下格式:

                   public  int  x = 10;

                   public  int  y = 20;

         另外,屬性的作用范圍是類的內部,可以在類內部的任何位置引用屬性,包括在方法和構造方法的內部,而不論屬性是否聲明在方法的上面。

         總得來說,類就是通過一系列屬性的組合成為一種新的數據類型,從而可以代表一種更復雜的結構,也相當于為程序員提供了一種組合已有數據類型形成新數據類型的方法,從而更直觀的去代表代表需要表達的數據。

8.2.2.2 方法聲明

         方法在類的內部代表該類具有的共有功能,將這些功能以方法的形式放置在類的內部,可以在需要時進行調用。

         方法的聲明和前面講解的方法一致,只是在類內部增加了屬性以后,可以在方法內部直接進行訪問,而不需要進行參數傳遞了。

         關于方法的聲明示例如下:

                   public class Box{

                            int width;

                            int height;

                            int length;

                            public int vol(){

                                     return width * height * length;

                            }

                   }

         在該示例中,聲明了一個名字為Box的類,假設使用這個類來代表箱子,其中包含三個屬性:length、widthheight,依次代表箱子的長寬高,則在該類內部包含一個基本的功能,求箱子體積的vol方法,該方法的功能是計算箱子的體積。

         下面是關于上面提到的用戶類的基本實現,示例代碼如下:

                   public class User{

                            public String username;

                            public String password;

                            public boolean login(){

                                     邏輯代碼

                            }

                   }

         User類的內部,包含用戶名和密碼這兩個屬性,根據需要選擇Java語言提供的String字符串類型進行代表,然后在該類的內部聲明登錄的login方法,在方法內部根據邏輯書寫對應的實現代碼。

打 印】【關 閉

上一篇:美國大學開發新軟件 有助于找回丟失的電腦
下一篇:DB2 針對 CLI 應用程序的標量函數介紹
相關新聞
版權所有©威課網 粵ICP備13058727號