ringname;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();u1。name=”北?copy;大學”;u1。city=”北?copy;”;u2。name=”清華大學”;u2。city=”北?copy;”;System。out。println(”大學:”+u1。name+”城市:”+u1。city);System。out。println(”大學:”+u2。name+”城市:”+u2。city);}}這個例子建立了兩個University的物件,並且對它們的name、city分別賦了不同的值,這說明這兩個物件是真正分離的。下面是該程式執行後的輸出結果。C:》javaTwoUniversity大學:北?copy;大學城市:北?copy;大學:清華大學城市:北?copy;
5。4點(。?copy;運算子點(。?copy;運算子用來接收一個物件的例項變數和成員函式。下面是用點運算子來接收例項變數的一般形式。objectreference。variablename
這裡objectreference是一個物件例項,variablename是這個物件裡你想接收的例項變數。下面的程式段說明了怎樣用點運算子來給例項變數賦值。
u。name=”北?copy;大學”;u。city=”北?copy;”;下面說明怎樣用點運算子來得到例項變數的值。System。out。println(”大學:”+u。name+”城市:”+u。city);透過向類University里加入一個成員函式main,我們建立了一個完整的例子,它使用了new運算子來建立一個University,用點運算子來賦值,然後列印結果。classUniversity{Stringname;city;publicstaticvoidmain(Stringargs''){Universityu=newUniversity();u。name=”北?copy;大學”;u。city=”北?copy;”;System。out。println(”大學:”+u。name+”城市:”+u。city);}}
執行這個程式後,就會得到下面的結果。C:》javaUniversity大學:北?copy;大學城市:北?copy;
5。5成員函式定義
成員函式,是類的功能介面,是類定義裡的一個子程式,在類的定義裡和例項變數處於同一級別。你必須透過一個類的例項來呼叫成員函式。成員函式可以