亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書(shū) | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
      全國(guó)  |             |          |          |          |          |         
        當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > Java語(yǔ)言程序設(shè)計(jì) > 考試輔導(dǎo) > 文章內(nèi)容
        

      計(jì)算機(jī)二級(jí)JAVA考點(diǎn)解析:Java的類(lèi)

      中華IT學(xué)院   【 】  [ 2017年9月5日 ]

        5.5成員函數(shù)定義

        成員函數(shù),是類(lèi)的功能接口,是類(lèi)定義里的一個(gè)子程序,在類(lèi)的定義里和實(shí)例變量處于同一級(jí)別。你必須通過(guò)一個(gè)類(lèi)的實(shí)例來(lái)調(diào)用成員函數(shù)。成員函數(shù)可以不用點(diǎn)操作符而直接使用實(shí)例變量。成員函數(shù)帶有輸入?yún)?shù),具有

        某種類(lèi)型的返回值。成員函數(shù)定義的一般形式如下:typemethodname(formal-parameter-list){method-body;}這里type指的是成員函數(shù)的返回值的類(lèi)型,如果沒(méi)有返回值,就用無(wú)值(void?copy;類(lèi)型。methodname可以是任何合法的標(biāo)識(shí)符,但不能與當(dāng)前的類(lèi)名相同。formal-parameter-list是用逗號(hào)分隔的類(lèi)型、標(biāo)識(shí)符對(duì)的序列。如果沒(méi)有參數(shù),括號(hào)里就是空的。還是用我們的University的例子,下面的成員函數(shù)用來(lái)初始化兩個(gè)實(shí)例變量。成員函數(shù)是在類(lèi)的大括號(hào)?reg;內(nèi)定義的,和實(shí)例變量所處的范圍相同。classUniversity{Stringname,city;voidinit(Stringa,Stringb){name=a;city=b;}}

        注意,我們這里直接給name和city賦值,而沒(méi)有象以前那樣用u1.name。這是因?yàn)槊總(gè)成員函數(shù)都在類(lèi)的個(gè)別實(shí)例內(nèi)執(zhí)行。我們創(chuàng)建的類(lèi)的實(shí)例具有它自己的實(shí)例變量,所以成員函數(shù)可直接使用它們。

        5.6成員函數(shù)調(diào)用

        可以用點(diǎn)(.?copy;操作符來(lái)調(diào)用一個(gè)類(lèi)的實(shí)例的成員函數(shù)。成員函數(shù)調(diào)用的一般形式如下:objectreference.methodname(parameter-list);這里,objectreference是指向某個(gè)對(duì)象的變量,methodname是objectreference所屬類(lèi)的一個(gè)成員函數(shù),parameter-list是用逗號(hào)分隔的變量或表達(dá)式的序列,它們要與該成員函數(shù)的定義的參數(shù)個(gè)數(shù)及類(lèi)型匹配。在這個(gè)例子里,我們可以對(duì)任何University對(duì)象調(diào)用成員函數(shù)init來(lái)給name和city賦值。下面的程序段說(shuō)明了怎樣完成這個(gè)工作。Universityu=newUniversity();u.init(\"北?copy;大學(xué)\",\"北?copy;\");這個(gè)例子創(chuàng)建了University的一個(gè)實(shí)例,存放在u中。通過(guò)點(diǎn)操作符來(lái)調(diào)用這個(gè)實(shí)例的init成員函數(shù),把\"北?copy;大學(xué)\"和\"北?copy;\"分別傳遞給參數(shù)a和b。在init成員函數(shù)內(nèi)部,name和city直接指向u所指向的對(duì)象的實(shí)例變量。把name賦值為\"北?copy;大學(xué)\",city賦值為\"北?copy;\",然后返回。在這個(gè)例子里,init被定義為無(wú)值(void?copy;返回類(lèi)型。在進(jìn)行這個(gè)成員函數(shù)調(diào)用后,u指向這個(gè)name值和city值改變了的University對(duì)象。

        5.7thisJava有一個(gè)特殊的實(shí)例值叫this,它用來(lái)在一個(gè)成員函數(shù)內(nèi)部指向當(dāng)前的對(duì)象。在前面的例子里,我們調(diào)用u.init,一?copy;進(jìn)入init成員函數(shù)內(nèi)部,this就會(huì)指向u所指向的對(duì)象。在Java里,在同一個(gè)范圍定義兩個(gè)相同名字的局部變

        量是不可以的。有趣的是,局部變量、成員函數(shù)的參數(shù)可以和實(shí)例變量的名字相同。前面我們沒(méi)有用name和city作為成員函數(shù)init的參數(shù)名字,因?yàn)檫@樣它們?cè)诔蓡T函數(shù)的范圍里就把實(shí)例變量name和city隱藏了,即name指向參數(shù)name,隱藏了實(shí)例變量name。this讓我們可以直接指向?qū)ο蟊旧。下面是另一個(gè)版本的init,用name和city作為參數(shù)名字,用this來(lái)接收當(dāng)前對(duì)象的實(shí)例變量。

        voidinit(Stringname,Stringcity){this.name=name;this.city=city;}下面是帶有新的init初始成員函數(shù)的TwoUniversity例子。classUniversity{Stringname,city;voidinit(Stringname,Stringcity){this.name=name;this.city=city;}}classTwoUniversityInit{publicstaticvoidmain(Stringargs[]){Universityu1=newUniversity();Universityu2=newUniversity();u1.init(\"北?copy;大學(xué)\",\"北?copy;\");u2.init(\"清華大學(xué)\",\"北?copy;\");System.out.println(\"大學(xué):\"+u1.name+\"城市:\"+u1.city);system.out.println(\"大學(xué):\"+u2.name+\"城市:\"+u2.city);}}

      分享到:
      本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營(yíng)業(yè)執(zhí)照