糯米文學吧

位置:首頁 > 計算機 > java語言

Java的類

java語言1.42W

引導語:類是什麼,大家知道嗎,以下是本站小編分享給大家的Java的類,歡迎參考學習!

Java的類

類是Java語言面向對象編程的基本元素,它定義了一個對象的結構和行為。在Java程序裏,你要表達的概念封裝在某個類裏。一個類定義了一個對象的結構和它的功能接口,功能接口稱為成員函數。當Java程序運行時,系統用類的定義創建類的實例,類的實例是真正的對象。類定義的一般形式如下:

classclassnameextendssuperclassname{typeinstance-variable1;typeinstance-variable2;instance-variableN;typemethodname1(parameter-list){method-body;}typemethodname2(parameter-list){method-body;}methodnameN(parameter-list){method-body;}}

這裏,classname和superclassname是合法的標識符。關鍵詞extends用來表明classname是superclassname派生的子類。有一個類叫做Object,它是所有Java類的根。如果你想定義Object的直接子類,你可以省略extends子句,編譯器會自動包含它。下面是一個簡單的類的定義。classUniversity{}

5.1對象實例

類名可以作為變量的類型來使用,如果一個變量的類型是某個類,那麼它將指向這個類的實例,稱為對象實例。所有對象實例和它們的類型(某個類?copy;的子類的實例都是相容的。就象可以把byte型的值賦給int型的變量一樣,你可以把Object的子類的任何實例賦給一個Object型的變量。一個實例是類模板的單獨的拷貝,帶有自己的稱為實例變量的數據集。每個實例也可以作為一個對象。當你定義一個變量的類型是某個類時,它的缺省值是null,null是Object的.一個實例。對象null沒有值,它和整數0不同。下面這個例子中,聲明變量u的類型是類University。Universityu;這裏,變量u的值是null。

5.2實例變量

Java通過在類定義的大括號裏聲明變量來把數據封裝在一個類裏。這裏的變量稱為實例變量。下面的例子定義了一個叫做University的類,它有兩個實例變量:name和city。classUniversity{Stringname,city;}

5.3new操作符

操作符new用來生成一個類的實例,下面這個例子生成了類University的一個實例,存放在變量u中。

Universityu=newUniversity();在此例中,變量u指向這個對象,但並不真正包含這個對象。你可以用多個變量指向同一個對象。下面的例子中,創建了一個University的對象,但創建了兩個指向它的變量。

Universityu=newUniversity();Universityu2=u;

對u2所指向的對象的任何改動都會對u所指向的對象起作用,因為它們是同一個對象。對u和u2的賦值只是把它們指向這個對象,既沒有分配內存,也沒有複製這個對象的任何部分。對u的再賦值只是簡單地去掉了u和原來對象的聯繫,並不影響對象本身,下面的例子説明了這種情況。

Universityu=newUniversity();Universityu2=u;u=null;

儘管u被賦值為null,u2仍指向原來由操作符new創建的對象。在前面的例子裏,我們生成了一個對象並且指向了它兩次。這就允許兩個變量改變同一個對象。創建一個新的對象時,可直接對它的實例變量賦值。每個對象都有它所屬類的實例變量的拷貝,每個對象的實例變量都是和其他對象的實例變量分離的,所以改變一個對象的實例變量不會影響其他對象的實例變量。下面的例子創建了兩個University的對象,並對它們分別賦值:classTwoUniversity{publicstaticvoidmain(Stringargs[]){Universityu1=newUniversity();Universityu2=newUniversity();="北?copy;大學";="北?copy;";="清華大學";="北?copy;";tln("大學:"++"城市:"+);tln("大學:"++"城市:"+);}}這個例子創建了兩個University的對象,並且對它們的name、city分別賦了不同的值,這説明這兩個對象是真正分離的。下面是該程序運行後的輸出結果。C:>javaTwoUniversity大學:北?copy;大學城市:北?copy;大學:清華大學城市:北?copy;

5.4點(.?copy;操作符點(.?copy;操作符用來接收一個對象的實例變量和成員函數。下面是用點操作符來接收實例變量的一般形式。ablename

這裏objectreference是一個對象實例,variablename是這個對象裏你想接收的實例變量。下面的程序段説明了怎樣用點操作符來給實例變量賦值。

="北?copy;大學";="北?copy;";下面説明怎樣用點操作符來得到實例變量的值。tln("大學:"++"城市:"+);通過向類University里加入一個成員函數main,我們創建了一個完整的例子,它使用了new操作符來創建一個University,用點操作符來賦值,然後打印結果。classUniversity{Stringname,city;publicstaticvoidmain(Stringargs[]){Universityu=newUniversity();="北?copy;大學";="北?copy;";tln("大學:"++"城市:"+);}}

運行這個程序後,就會得到下面的結果。C:>javaUniversity大學:北?copy;大學城市:北?copy;

標籤:JAVA