第04,5章-Java的面向?qū)ο筇匦訽第1頁(yè)
第04,5章-Java的面向?qū)ο筇匦訽第2頁(yè)
第04,5章-Java的面向?qū)ο筇匦訽第3頁(yè)
第04,5章-Java的面向?qū)ο筇匦訽第4頁(yè)
第04,5章-Java的面向?qū)ο筇匦訽第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

4-5章Java的面向?qū)ο筇匦訯Q:66459753Email:66459753@重慶師范大學(xué)計(jì)算機(jī)學(xué)院王艷霞1內(nèi)容Java的類Java的對(duì)象構(gòu)造方法2面向過程的設(shè)計(jì)思想和面向?qū)ο蟮脑O(shè)計(jì)思想我要回家面向過程開車、掛檔、踩油門、…面向?qū)ο笪颐钴嚮丶臆囋趺慈サ牟魂P(guān)我的事信息封裝在車這個(gè)類的內(nèi)部不用去了解整個(gè)開車的過程3一個(gè)問題老李養(yǎng)了兩只狗,一只黑狗,叫小黑,顏色黑色,年齡4歲;一只黃狗,叫小黃,顏色黃色,年齡10歲。要求編寫程序,輸入狗的名字,如有這只狗,顯示其信息,沒有就提示錯(cuò)誤。dogInfo.java4面向?qū)ο缶幊趟枷?/p>

從現(xiàn)實(shí)世界中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)的構(gòu)造中盡可能運(yùn)用人類的自然思維方式面向?qū)ο蟾訌?qiáng)調(diào)運(yùn)用人類在日常的思維邏輯中經(jīng)常才贏的思想方法與原則,如類,對(duì)象、繼承,聚合,多態(tài)等5類與對(duì)象的概念類是同種對(duì)象的集合與抽象,類中定義了這一類對(duì)象所應(yīng)具有的靜態(tài)和動(dòng)態(tài)屬性。對(duì)象用計(jì)算機(jī)語言對(duì)問題域中事物的描述,對(duì)象通過“屬性(attribute)”和“方法(method)”來分別對(duì)應(yīng)事物所具有的靜態(tài)屬性和動(dòng)態(tài)屬性

對(duì)象是屬性(成員變量)和方法的集合。{一類事物的具體的某一個(gè)東西(符合這類事物的具體特征的某個(gè)東西)

叫對(duì)象}

類與對(duì)象的關(guān)系:類可以看成一類對(duì)象的模板,對(duì)象可以看成該類的一個(gè)具體實(shí)例,瓶子是一個(gè)類,某個(gè)瓶子就是對(duì)象

類對(duì)象職員職員-姓名-年齡-目前工資+顯示姓名()+顯示年齡()+修改姓名()+領(lǐng)取工資()職員A:職員姓名=A年齡=30目前工資=800職員B:職員姓名=B年齡=350目前工資=900實(shí)例化實(shí)例化抽象6封裝什么是封裝?封裝是把抽象出來的數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝在一起,數(shù)據(jù)被保護(hù)在內(nèi)部,程序的其他部分只有通過被授權(quán)的操作才能對(duì)數(shù)據(jù)進(jìn)行操作私有數(shù)據(jù)方法方法數(shù)據(jù)對(duì)象A對(duì)象B公有數(shù)據(jù)舉例子Packaging.java7繼承關(guān)系(一般和特殊)8Java與面向?qū)ο?/p>

對(duì)象是Java程序的核心,在java程序中“萬事萬物皆對(duì)象”。對(duì)象可以看成靜態(tài)屬性(成員變量)和動(dòng)態(tài)屬性(方法)的封裝體類是用來創(chuàng)建統(tǒng)一類型的對(duì)象的“模板”,在一個(gè)類中定義了該類對(duì)象所應(yīng)具有的成員變量以及方法J2SDK提供了很多類供編程人員使用,編程人員也可以自定義自己的類9類的定義類定義的格式

[public][abstract|final]

classclassName[extendssuperclassName]

[implementsinterfaceNameList]

{

…//類體,包括定義類的成員變量和方法}publicclassPerson{privateintid;privateintage=20;publicintgetAge(){returnage;}}publicclassStudentextendsPerson{ intSno;Stringschoolname;publicvoidGotoSchool(){。。。。}

}10成員變量的定義成員變量的定義格式:[修飾符]類型成員變量名[=默認(rèn)值];如privateintid;publicStringname=“小花”;11成員變量成員變量可以使用java語言中任何一種數(shù)據(jù)類型(包括基本類型和引用類型),作用范圍為整個(gè)類體定義成員變量時(shí)可以不初始化,java系統(tǒng)會(huì)給你賦初始值成員變量的作用域是整個(gè)類體注意:局部變量必須賦初試值才可以使用

看例子dog.java12引用類型除了java語言中基本類型以外的變量類型Java中的對(duì)象是通過引用對(duì)其操作的例子StringS

/*聲明string類型的引用變量,但是沒使它指向一個(gè)對(duì)象*/S=newString(“helloworld!”);/*使用new語句創(chuàng)建一個(gè)String類型的對(duì)象并用S指向它,以后可以通過S完成對(duì)其的操作*/

NULL內(nèi)存0x3a123bhelloworld!堆內(nèi)存13成員方法定義成員方法的定義格式[修飾符]返回值類型方法名([參數(shù)列表]){

java語句;。。。//方法體}語法解釋:(1)形式參數(shù):在方法被調(diào)用時(shí)用于接收外界輸入的數(shù)據(jù)。(2)實(shí)參:調(diào)用方法時(shí)實(shí)際傳給方法的數(shù)據(jù)。(3)返回值:方法在執(zhí)行完畢后返回給調(diào)用它的環(huán)境的數(shù)據(jù)。(4)返回值類型:事先約定的返回值的數(shù)據(jù)類型,無返回值,必須給出返回類型viod。14成員方法定義Java語言中使用下述形式調(diào)用方法:

對(duì)象名.方法名(實(shí)參列表)實(shí)參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形式列表匹配。return語句終止方法的運(yùn)行并指定要返回的數(shù)據(jù)。Java中進(jìn)行函數(shù)調(diào)用中傳遞參數(shù)時(shí),遵循傳遞的原則:基本類型傳遞的是該數(shù)據(jù)本身,引用類型傳遞的是對(duì)象的引用,不是對(duì)象本身15引用實(shí)例化對(duì)象或?qū)ο蟮膭?chuàng)建和使用

創(chuàng)建一個(gè)對(duì)象有兩種方法

(1)先聲明再創(chuàng)建

對(duì)象聲明:類名對(duì)象名對(duì)象創(chuàng)建:對(duì)象名=new類名()

(2)一步到位法:

類名對(duì)象名=new類名();

使用:對(duì)象(引用).成員變量來引用對(duì)象的成員變量使用:對(duì)象(引用).方法(參數(shù)列表)來調(diào)用對(duì)象的方法16對(duì)象的創(chuàng)建和使用同一類的每個(gè)對(duì)象有不同的成員變變量存儲(chǔ)空間同一類的每個(gè)對(duì)象共享該類的方法例子Person.java17類和對(duì)象的關(guān)系(內(nèi)存)如何在內(nèi)存中區(qū)分類和對(duì)象?(1)類是靜態(tài)的概念,代碼區(qū)(2)對(duì)象是new出來的,位于堆內(nèi)存,類的每個(gè)成員變量在不同的對(duì)象中都有不同的值(除了靜態(tài)變量)而方法只有一份,執(zhí)行的時(shí)候才占用內(nèi)存18類和對(duì)象的關(guān)系(內(nèi)存)類C的代碼(codeseg) (heapseg)XXXXXXXXXXXXXXC1.iC1.jC2.iC2.jC1C2ClassC{ inti; intj;….main…{Cc1=newC();Cc2=newC();}}19構(gòu)造方法

構(gòu)造方法是定義在java類中的一個(gè)用來初始化對(duì)象的方法構(gòu)造方法名字與類的名字相同,大小寫也保持一致使用new+構(gòu)造方法創(chuàng)建一個(gè)新的對(duì)象構(gòu)造函數(shù)與類同名且沒有返回值。即便是void也不能寫注意:當(dāng)無指定構(gòu)造函數(shù)時(shí),編譯器為類自動(dòng)添加形為:類名(){}的構(gòu)造方法

20構(gòu)造方法例如:Person類的構(gòu)造函數(shù)publicclassPerson{ intid; intage=20; Person(int_id,int_age){ id=_id age=_age; }}

21創(chuàng)建對(duì)象時(shí),使用構(gòu)造函數(shù)初始化對(duì)象的成員變量。PublicclassTest{ Publicstaticvoidmain(String[]agrs){ Persontom=newPerson(1,25); Personjrry=newPerson(1,27); }}構(gòu)造方法TOMjrryXXXX####

堆內(nèi)存12512722內(nèi)存詳細(xì)過程詳解

Tom:xxx_id:1_age:25調(diào)用構(gòu)造函數(shù)(方法局部變量)new一個(gè)Person對(duì)象調(diào)用完成后方法、局部變量消失Id:1age:25棧內(nèi)存堆內(nèi)存23構(gòu)造方法當(dāng)無指定構(gòu)造函數(shù)時(shí),編譯器為類自動(dòng)添加形為:類名(){}的構(gòu)造方法

publicclassPerson{ intid; intage=20;}Personp=newPerson()

一旦自己定義了構(gòu)造方法,系統(tǒng)就不會(huì)再給默認(rèn)構(gòu)造方法了24約定俗成的命名規(guī)則類名的首字母大寫變量名和方法名的首字母小寫運(yùn)用駝峰標(biāo)示25總結(jié)方法Java的方法類似于其他語言的函數(shù),是一段用來完成特定功能的代碼片段,聲明格式:

[修飾符1修飾符2…]返回值類型方法名(形式參數(shù)列表){java語句;…;…;}形式參數(shù):在方法被調(diào)用時(shí)用于接收外界輸入的數(shù)據(jù)。實(shí)參:調(diào)用方法時(shí)實(shí)際傳給方法的數(shù)據(jù)返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)返回值類型:事先約定的返回值得數(shù)據(jù)類型,如無返還值,必須給出返回值類型void26總結(jié)方法Java語言中使用下述形式調(diào)用方法:

對(duì)象名.方法名(實(shí)參列表)實(shí)參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形參列表匹配Return語句終止方法的運(yùn)行并制定要返回的數(shù)據(jù)Java中進(jìn)行函數(shù)調(diào)用中傳遞參數(shù)時(shí),遵循值傳遞的原則:基本類型傳遞的是該數(shù)據(jù)值本身。引用類型傳遞的是對(duì)對(duì)象的引用,而不是對(duì)象本身。27創(chuàng)建Java應(yīng)用程序一個(gè)java應(yīng)用程序通常由一個(gè)或多個(gè)類構(gòu)成,但其中只能有一個(gè)類作為整個(gè)應(yīng)用程序執(zhí)行的起點(diǎn),稱之為主類。主類的類名必須與Java文件名相同,且必須含有main()方法,main()方法必須被聲明為public,static,void,具體格式如下:publicstaticvoidmain(Stringargs[]){//方法體}28創(chuàng)建Java應(yīng)用程序main(Stringarg[])方法可以從命令行接收一個(gè)或多個(gè)參數(shù),這些參數(shù)作為字符串依次被傳遞并存入數(shù)組arg[]中。看例子MainTest()29復(fù)習(xí):對(duì)象的創(chuàng)建和使用必須使用new關(guān)鍵字來創(chuàng)建對(duì)象對(duì)象(引用).成員變量來引用對(duì)象的成員變量對(duì)象(引用).方法(參數(shù)列表)來調(diào)用對(duì)象的方法同一類的每個(gè)對(duì)象有不同的成員變變量存儲(chǔ)空間同一類的每個(gè)對(duì)象共享該類的方法非靜態(tài)變量是針對(duì)每個(gè)對(duì)象進(jìn)行調(diào)用30例子的分析Chap04/BirthDay(看DOC文檔)Exercise/TestCircle.java31課堂練習(xí)定義一個(gè)點(diǎn)(Point)類用來表示三維空間中的點(diǎn)(有三個(gè)坐標(biāo))。要求如下1.可以生成具有特定坐標(biāo)的點(diǎn)對(duì)象(構(gòu)造函數(shù))2.提供可以設(shè)置三個(gè)坐標(biāo)的方法(修改坐標(biāo)值)3.提供可以計(jì)算該點(diǎn)到原點(diǎn)距離平方的方法4.編程序?yàn)镃ricle類添加一個(gè)方法,計(jì)算一個(gè)點(diǎn)(Point對(duì)象)是否在圓(Cricle對(duì)象)內(nèi),并寫程序驗(yàn)證。

32重載overload什么是方法的重載(編譯時(shí)多態(tài)性)?在同一個(gè)類中至少有兩個(gè)方法用同一個(gè)名字,但有不同的參數(shù)個(gè)數(shù)或參數(shù)類型,調(diào)用時(shí)會(huì)根據(jù)不同的參數(shù)表選擇對(duì)應(yīng)方法。類voidshow(intint_num)voidshow(doubledouble_num)voidshow(nitnit_um,floatfloat_um)1231.23123,1.2333重載overload例子TestOverLoad/test.java構(gòu)造函數(shù)的重載(例子TestOverLoad.java)34this關(guān)鍵字

在類的方法定義中使用this關(guān)鍵字代表使用該方法的對(duì)象引用當(dāng)必須指出當(dāng)前使用方法的對(duì)象是誰時(shí)要使用this有時(shí)使用this可以處理方法中成員變量和參數(shù)重名情況this可以看做一變量,它的值是當(dāng)前對(duì)象引用例子TestThis畫圖35使用類成員(Static)在類中,static聲明的成員變量為靜態(tài)成員變量,它為該類的公用變量,在第一次使用時(shí)被初始化,對(duì)該類的所有對(duì)象來說,static成員變量只有一份。用static聲明的方法為靜態(tài)方法,在調(diào)用該方法時(shí),不會(huì)將對(duì)象的引用傳遞給它,所以在static方法中不可訪問非static的成員。-----靜態(tài)方法不再是針對(duì)某個(gè)對(duì)象調(diào)用,所以不能訪問非靜態(tài)成員可以通過對(duì)象引用或者類名(不需實(shí)例化)訪問靜態(tài)成員。Cat.java36包java引入包(package)機(jī)制提供類的多重類命名空間。package語句作為java源文件第一句,指明該文件定義的類所在包。若缺省該語句,則指定為無名包)。它的格式為:packagepkg1[.pkg2[.pkg3….]];約定俗成的命名:com.域名.xxxjava編譯器把包語句對(duì)應(yīng)于文件系統(tǒng)的目錄管理,package語句中使用”.”點(diǎn)指明包(目錄)層次如.sxt;指的是該文件中所有類位于.\com\sxt目錄下Java引入import機(jī)制簡(jiǎn)化包的引入TestPackage37包-總結(jié)聲明包:package.pkg.xxx而編譯好的文件xx.class必須位于正確目錄下pkg\xxx\... 使用包,在另一個(gè)類中使用包中的類,必須寫全名稱,也可以用import關(guān)鍵詞,在文件開頭引入要使用的類,如importcom.bjsxt.java.*;注意:訪問位于同一個(gè)包中的類不需要引入可以不需要用import語句而直接使用java.lang包中的類必須class文件的最上層包的父目錄位于classpath下38J2SDK中主要包的介紹

Jdk目錄下jre\lib\rt.jar里面包含運(yùn)行時(shí)需要的所有class文件:就是一個(gè)classpathJava.langjava語言的核心類,如String、Math、integer、System和thread,提供常用功能Java.awt構(gòu)成抽象窗口工具集(abstractwindowtoolkits)的多個(gè)類,這些類被用來構(gòu)件和管理應(yīng)用程序的圖形用戶界面(GUI)J執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類Java.io提供多種輸入/輸出功能的類Java.util一些實(shí)用工具類,如定義系統(tǒng)特性、使用與日期日歷相關(guān)的函數(shù)打包語句:在classpath的testpackage目錄下輸入:jar–cvftest.jar*.*39類的繼承Java中使用extends關(guān)鍵字實(shí)現(xiàn)類的繼承機(jī)制。語法為:<modifier>class<name>[extends<superclass>]{……}通過繼承,子類自動(dòng)擁有了基類(父類)(superclass)的所有成員(成員變量和方法)java只支持單繼承,不允許多繼承:一個(gè)子類只能有一個(gè)基類一個(gè)基類可以派生出多個(gè)類classParent{privateintn_private=1;intfriendly=2;}classChildextendsParent{publicvoidf(){n_private=1;friendly=20;}}TestPerson.java40類及成員修飾符Java權(quán)限修飾符publicprotectedprivate置于類的成員定義前,用來限定其他對(duì)象對(duì)該類對(duì)象成員的訪問權(quán)限修飾符類內(nèi)部同一個(gè)包子類任何地方private√default√√protected√√√public√√√√對(duì)于class的權(quán)限修飾值可以用public和default1.公開:public類可以在任意地方被訪問2.默認(rèn):default類只可以被同一個(gè)包內(nèi)部的類訪問TestAccess.java41重寫(overridden)在子類中可根據(jù)需要對(duì)基類中繼承來的方法進(jìn)行重寫就是說對(duì)父類中的方法不滿意需要自己重新寫重寫方法必須和被重寫方法具有相同方法名稱、參數(shù)列表和返回值重寫方法不能使用比被重寫方法更嚴(yán)格的訪問權(quán)限TestOverWrite.java42Super用super來引用當(dāng)前基類(父類)的成分就是說子類繼承父類時(shí),父類的某個(gè)方法雖然完成的不是很好但是也完成了部分功能不必重寫,就用super.f()調(diào)用父類的相應(yīng)方法,再接著寫你想實(shí)現(xiàn)的功能cc::xxxValue:100Value:200thissuperTestSuper/TestInherit.java43繼承中的構(gòu)造方法

子類的構(gòu)造過程中必須調(diào)用基類的構(gòu)造方法。子類可在自己的構(gòu)造方法中使用super(argument_list參數(shù)列表)調(diào)用基類的構(gòu)造方法。---如果調(diào)用super.必須寫在子類構(gòu)造方法第一行---使用this(argument_list)調(diào)用本類的另外構(gòu)造方法如果子類構(gòu)造方法中沒有顯示的調(diào)用基類構(gòu)造方法則系統(tǒng)默認(rèn)調(diào)用基類無參數(shù)的構(gòu)造方法。如果子類構(gòu)造方法既沒有顯示地調(diào)用基類構(gòu)造方法,而基類中又沒有無參數(shù)的構(gòu)造方法,則編譯出錯(cuò)TestSuper/TestSuperSub.java44練習(xí)classA{protectedvoidprint(Strings){System.out.println(s);}A(){print(“A()”);}publicvoidf(){print(“A:f()”);}}classBextendsA{B(){print(“B()”);}publicvoidf(){print(“B:f()”);}publicstaticvoidmain(Stringarg[]){Bb=newB();b.f();}}分析輸出結(jié)果,體會(huì)一般方法和構(gòu)造方法在繼承中的區(qū)別把TestTeacher.java拷給學(xué)生,自己分析45對(duì)象轉(zhuǎn)型(casting)一個(gè)基類的引用類型變量可以指向其子類的對(duì)象一個(gè)基類的引用不可以訪問其子類對(duì)象新增加的成員(屬性和方法)可以使用引用變量instanceof類名來判斷該引用類型變量所指向的對(duì)象是否屬于該類或該類的子類子類的對(duì)象可以當(dāng)作基類的對(duì)象來使用稱作向上轉(zhuǎn)型(upcasting),否則稱作向下轉(zhuǎn)型(downcasting)46對(duì)象轉(zhuǎn)型(casting)例子1classAnimal{ publicStringname; Animal(Stringname){ =name; }}classCatextendsAnimal{ publicStringeyesColor; Cat(Stringn,Stringc){ super(n);eyesColor=c; }}classDogextendsAnimal{publicStringfurColor;Dog(Stringn,Stringc){ super(n);furColor=c;}}47對(duì)象轉(zhuǎn)型(casting)例子1publicclassTest{ publicstaticvoidmain(Stringarg[]){ Animala=newAnimal("name"); Catc=newCat("catname","blue"); Dogd=newDog("dogname","black");

System.out.println(ainstanceofAnimal);//true System.out.println(cinstanceofAnimal);//true System.out.println(dinstanceofAnimal);//true System.out.println(ainstanceofCat);//false

a=newDog("bigyellow","yellow"); System.out.println(); //System.out.println(a.furColor); System.out.println(ainstanceofAnimal);//true System.out.println(ainstanceofDog);//true

Dogd1=(Dog)a; System.out.println(d1.furColor); }}48對(duì)象轉(zhuǎn)型(casting)例子2publicclassTest1{ publicstaticvoidmain(Stringarg[]){ Test1test=newTest1(); Animala=newAnimal("name"); Catc=newCat("catname","blue"); Dogd=newDog("dogname","black"); test.f(a);test.f(c);test.f(d); }

publicvoidf(Animala){System.out.println("name:"+);if(ainstanceofCat){Catcat=(Cat)a;System.out.println(""+cat.eyesColor+"eyes");}elseif(ainstanceofDog){Dogdog=(Dog)a;System.out.println(""+dog.furColor+"fur");}}}49多態(tài)性是由封裝性和繼承性引出的面向?qū)ο蟪绦蛟O(shè)計(jì)語言的另一特征。靜態(tài)多態(tài)性(編譯時(shí)多態(tài)〕由方法重載(overload)實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性(運(yùn)行時(shí)多態(tài))在執(zhí)行期間(非編譯期)判斷所引用對(duì)象實(shí)際類型,根據(jù)其實(shí)的類型調(diào)用其相應(yīng)的方法

TestPolymoph/test.java總結(jié):多態(tài)存在的條件:有繼承,有重寫,父類引用指向子類對(duì)象。一旦滿足,當(dāng)調(diào)用父類里被重寫的方法時(shí),實(shí)際new的哪個(gè)子類對(duì)象,就調(diào)用子類對(duì)象方法。50抽象類與抽象方法用abstract來修飾的類/方法規(guī)則:含有抽象方法的類必須被聲明為抽象類,抽象類必須被繼承,抽象方法必須重寫抽象類不能被實(shí)例化抽象方法只需聲明而不需實(shí)現(xiàn)TestAbstract\Test.java51final關(guān)鍵字final的變量的值不能夠被改變final的成員變量final的局部變量(形參)final的方法不能夠被重寫final的類不能夠被繼承如:publicfinalclassString類publicfinalvoidm()方法finalintI=9成員/局部變量TestFinal.java52接口/interface

接口是抽象方法和常量值的定義的集合從本質(zhì)上講,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,而沒有變量和方法的實(shí)現(xiàn)。接口定義舉例:

publicinterfaceRunner{(publicstaticfinal)intid=1;public(abstract)voidstart();//抽象類,不需要實(shí)現(xiàn)public(abstract)voidrun();public(abstract)voidstop();53接口/interface接口特征接口可以多重實(shí)現(xiàn);接口中聲明的屬性必須為publicstaticfinal的,可以不寫;接口中只能定義抽象方法,而且這些方法必須為publicabstract的;接口可以繼承其他的接口,并添加新的屬性和抽象方法;與繼承關(guān)系類似,接口與實(shí)現(xiàn)類之間存在多態(tài)性*接口之間可以相互繼承,類之間也可以相互繼承而類只能實(shí)現(xiàn)接口對(duì)象實(shí)現(xiàn)接口的時(shí)候一定要把接口中的方法定義54接口/interface接口規(guī)則多個(gè)無關(guān)類可以實(shí)現(xiàn)同一接口一個(gè)類可以實(shí)現(xiàn)多個(gè)無關(guān)接口與繼承關(guān)系類似接口與實(shí)現(xiàn)類之間存在多態(tài)性定義Java類的語法格式:<modifier>classclassname[extends<sopclass>][implements<interface>[,interface,…]]{}Testinterface/test.java55接口/interface聯(lián)系Testinterface/Valuable.java56類java.lang.ObjectObject類是所有Java類的根基類如果在類的聲明中未使用extends關(guān)鍵字指明其基類,則默認(rèn)基類為Object類例子publicclassPerson{}publicclassPersonextendsObject{}

57類java.lang.Object該類定義了一些所有對(duì)象最基本的狀態(tài)和行為equals():比較兩個(gè)對(duì)象(引用)是否相同,如果相同返回true,否則返回false。相當(dāng)于操作符“==”;getClass():返回對(duì)象運(yùn)行時(shí)所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論