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

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

      計算機二級JAVA考點解析:Java的類

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

        5.13動態(tài)成員函數(shù)發(fā)送

        當(dāng)你用點操作符調(diào)用一個對象實例的成員函數(shù)時,對象實例所屬的類在編譯時要被檢查,以確保調(diào)用的成員函數(shù)在該類中是存在的。在運行時,對象實例可以指向所聲明類型的子類的實例。在這?copy;情況下,如果子類覆蓋了要調(diào)用的成員函數(shù),Java就用實例來決定調(diào)用哪一個成員函數(shù)。如下面的例子,兩個類是子類和超類的關(guān)系,子類覆蓋了超類的成員函數(shù)。

        classA{voidcallme(){System.out.println(\"在A的callme成員函數(shù)里\");}}

        classBextendsA{voidcallme(){System.out.println(\"在B的callme成員函數(shù)里\");}}

        classDispatch{publicstaticvoidmain(Stringargs[]){Aa=newB();a.callme();}}

        有趣的是,在成員函數(shù)main里,我們把變量a聲明為類型A,然后把類B的一個實例存放到它上面。我們在a上調(diào)用成員函數(shù)callme,Java編譯器確定在類A確實有成員函數(shù)callme,但是在運行時,由于a事實上是B的實例,所以調(diào)用B的callme,而不調(diào)用A的。下面是運行結(jié)果:C:\\>javaDispatch在B的callme成員函數(shù)里

        5.14final

        在缺省情況下,所有的成員函數(shù)和實例變量都可以被覆蓋。如果你希望你的變量或成員函數(shù)不再被子類覆蓋,可以把它們聲明為final。這意味著將來的實例都依賴這個定義。例如:finalintFILE_NEW=1;finalintFILE_OPEN=2;finalintFILE_SAVE=3;fianlintFILE_SAVEAS=4;finalintFILE_QUIT=5;final變量用大寫標識符是一個一般的約定。

        5.15靜態(tài)

        如果你想要創(chuàng)建一個可以在實例的外部調(diào)用的成員函數(shù),那么你只需聲明它為靜態(tài)的(static?copy;,它就會正常運行。靜態(tài)成員函數(shù)只能直接調(diào)用其他靜態(tài)成員函數(shù),而不能以任何方式使用this或super。你也可以把變量聲明為靜態(tài)的。如果你想初始化一個靜態(tài)變量,你可以用static聲明一個恰好在類調(diào)用時執(zhí)行一次的程序塊。下面的例子是一個帶有一個靜態(tài)成員函數(shù),幾個靜態(tài)變

        量,和一個靜態(tài)初始塊的類。

        classStatic{staticinta=3;staticintb;staticvoidmethod(intx){System.out.println(\"x=\"+x);System.out.println(\"a=\"+a);System.out.println(\"b=\"+b);}static{System.out.println(\"靜態(tài)初始塊\");b=a*4;}publicstaticvoidmain(Stringargs[]){method(42);}}這個類被調(diào)用,所有的靜態(tài)變量都被初始化,a被賦為3,然后運行static塊,這將打印出一段消息,并且把b賦為a*4,即12。然后解釋器調(diào)用main成員函數(shù),它調(diào)用了成員函數(shù)method,參數(shù)x為42。這三個println語句打印了兩個靜態(tài)變量a、b和局部變量x。下面是運行結(jié)果:C:\\>javaStatic靜態(tài)初始塊x=42a=3b=12一個靜態(tài)成員函數(shù)可以通過它所屬的類名來調(diào)用。象調(diào)用實例變量一樣,你可以用點操作符通過類名來調(diào)用靜態(tài)成員函數(shù)和靜態(tài)變量。Java就是這樣實現(xiàn)了全局函數(shù)和全局變量。下面的例子里,我們創(chuàng)建了帶有一個靜態(tài)成員函數(shù)和兩個靜態(tài)變量的類。第二個類可以通過名字直接來調(diào)用第一個類的靜態(tài)成員函數(shù)和靜態(tài)變量。

        classstaticClass{staticinta=42;staticintb=99;staticvoid

        callme(){System.out.println(\"a=\"+a);}}

        classStaticByName{publicstaticvoidmain(Stringargs[])

        {StaticClass.callme();System.out.println(\"b=\"+staticClass.b);}}

        下面是運行結(jié)果:C:\\>javastaticByNamea=42b=99

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