




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
北京傳智播客教育Java預(yù)熱班講義講師:焦寧波北京傳智播客教育繼承(Inheritance)概述特點(diǎn)super關(guān)鍵字函數(shù)的重寫(xiě)子類(lèi)的實(shí)例化過(guò)程final關(guān)鍵字北京傳智播客教育Tip1:繼承該概述概述Java繼承是使用已存在的類(lèi)的定義作為基礎(chǔ)建立新類(lèi)的技術(shù),新類(lèi)的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類(lèi)的功能,但不能選擇性地繼承父類(lèi)。作用增強(qiáng)代碼的復(fù)用性使得類(lèi)與類(lèi)建立了關(guān)系(isa),多態(tài)的前提注意不要為了復(fù)用屬性或功能而繼承如果父類(lèi)中有子類(lèi)不需要的功能,那么兩者之間不應(yīng)該有繼承關(guān)系Java只支持單繼承,采用多實(shí)現(xiàn)來(lái)彌補(bǔ)北京傳智播客教育Extends:hasa聚合指的是整體與部分的關(guān)系。通常在定義一個(gè)整體類(lèi)后,再去分析這個(gè)整體類(lèi)的組成結(jié)構(gòu)。從而找出一些組成類(lèi),該整體類(lèi)和組成類(lèi)之間就形成了聚合關(guān)系。例如一個(gè)航母編隊(duì)包括航空母艦、驅(qū)護(hù)艦艇、艦載飛機(jī)及核動(dòng)力攻擊潛艇等。需求描述中“包含”、“組成”、“分為…部分”等詞常意味著聚合關(guān)系。球隊(duì)、班級(jí)、家庭組合也表示類(lèi)之間整體和部分的關(guān)系,但是組合關(guān)系中部分和整體具有統(tǒng)一的生存期。一旦整體對(duì)象不存在,部分對(duì)象也將不存在。部分對(duì)象與整體對(duì)象之間具有共生死的關(guān)系。筆記本(CPU/硬盤(pán)/內(nèi)存)北京傳智播客教育Tip2:繼承的特點(diǎn)屬性父子屬性不同父子屬性相同super函數(shù)父子函數(shù)不同父子函數(shù)相同(函數(shù)重寫(xiě))子類(lèi)調(diào)用父類(lèi)的函數(shù)函數(shù)重載的特點(diǎn):子類(lèi)權(quán)限大于等于父類(lèi),靜態(tài)函數(shù)覆蓋靜態(tài)函數(shù)注意:父類(lèi)函數(shù)權(quán)限為private時(shí),子類(lèi)的同名函數(shù)不叫重寫(xiě)構(gòu)造函數(shù)構(gòu)造函數(shù)不能重寫(xiě)構(gòu)造函數(shù)的調(diào)用過(guò)程(父類(lèi),子類(lèi))super();特點(diǎn):所有子類(lèi)的構(gòu)造函數(shù)默認(rèn)第一行都調(diào)用super();北京傳智播客教育Tip3:super關(guān)鍵字總結(jié)調(diào)用父類(lèi)的同名屬性調(diào)用父類(lèi)的同名函數(shù)調(diào)用父類(lèi)的構(gòu)造函數(shù)和this的使用基本相同北京傳智播客教育Tip4:函數(shù)重寫(xiě)(Override)總結(jié)函數(shù)必須相同(返回值、函數(shù)名、參數(shù)列表)重寫(xiě)的函數(shù)的修飾符大于等于父類(lèi)重寫(xiě)的函數(shù)的返回值類(lèi)型小于等于父類(lèi)父類(lèi)函數(shù)如果是private,不存在繼承(重寫(xiě)的前提是繼承)靜態(tài)函數(shù)重寫(xiě)靜態(tài)函數(shù)(否則造成函數(shù)重復(fù))構(gòu)造函數(shù)無(wú)法重寫(xiě)(因?yàn)闃?gòu)造函數(shù)無(wú)法繼承)子類(lèi)的異常小于等于父類(lèi)北京傳智播客教育Tip5:子類(lèi)的實(shí)例化過(guò)程實(shí)例過(guò)程子類(lèi)的構(gòu)造函數(shù)默認(rèn)會(huì)去訪(fǎng)問(wèn)父類(lèi)中空參數(shù)的構(gòu)造函數(shù)(因?yàn)樽宇?lèi)的構(gòu)造函數(shù)中默認(rèn)第一行有super()語(yǔ)句)當(dāng)父類(lèi)中沒(méi)有空參數(shù)構(gòu)造函數(shù)時(shí),子類(lèi)的構(gòu)造函數(shù)中必須用this(),或者super()語(yǔ)句指定要訪(fǎng)問(wèn)的構(gòu)造函數(shù)。思考:為什么子類(lèi)一定要訪(fǎng)問(wèn)父類(lèi)的構(gòu)造函數(shù)呢?為什么super()或者this()語(yǔ)句要放在構(gòu)造函數(shù)的第一行?北京傳智播客教育Extends:總結(jié)繼承的優(yōu)點(diǎn)代碼復(fù)用多態(tài)繼承的缺點(diǎn)打破了類(lèi)的封裝性(可以通過(guò)重寫(xiě)來(lái)破壞父類(lèi)的功能)Java中的繼承只能是單繼承Overload和Override的區(qū)別北京傳智播客教育Extendsinstanceof關(guān)鍵字北京傳智播客教育Tip6:final關(guān)鍵字final可以修飾類(lèi)、函數(shù)和變量被final修飾的類(lèi)不能被繼承被final修飾的函數(shù)不能被重寫(xiě)被final修飾的變量只能賦值一次,即可修飾成員變量也可以修飾局部變量(INTEGER_CACHE)final修飾常量時(shí)一般和static結(jié)合使用內(nèi)部類(lèi)定義在類(lèi)的局部位置時(shí),只能訪(fǎng)問(wèn)該局部被修飾為final的局部變量北京傳智播客教育Tip7:抽象類(lèi)(Abstractclass)概念抽象類(lèi)表示該類(lèi)中可能已經(jīng)有一些方法的具體定義,但是接口就僅僅只能定義各個(gè)方法的界面(方法名,參數(shù)列表,返回類(lèi)型),并不關(guān)心具體細(xì)節(jié)。格式abstractclass類(lèi)名{}實(shí)現(xiàn)使用abstract修飾的類(lèi)稱(chēng)之為抽象類(lèi)特點(diǎn)只能作為基類(lèi),不能直接被實(shí)例(new)包含抽象函數(shù)的類(lèi)一定是抽象類(lèi)抽象類(lèi)中不一定有抽象函數(shù)需要子類(lèi)覆蓋掉所有的抽象方法后才可以創(chuàng)建子類(lèi)對(duì)象,否則子類(lèi)也是抽象類(lèi)思考:抽象類(lèi)中是否有構(gòu)造函數(shù)?北京傳智播客教育Tip7:抽象類(lèi)(Abstractclass)引題:人的工作:?jiǎn)T工和經(jīng)理人的吃飯:每一個(gè)人應(yīng)用向上抽取強(qiáng)制具體實(shí)現(xiàn)練習(xí)定義不同的圖形求不同圖形的面積?CircleRect設(shè)計(jì)一個(gè)員工(Employee)類(lèi),主要有姓名(name)、年齡(age)和工資(salary)屬性,并具有工作的功能。而經(jīng)理(Manager)類(lèi)繼承員工類(lèi),有特有的獎(jiǎng)金(bonus)屬性。并擴(kuò)展職員類(lèi)(Staff)。北京傳智播客教育Extends:模版方法模式(Template)問(wèn)題引入求代碼的運(yùn)行時(shí)間模版方法模式模版模式是一種比較常用的模式,在JUNIT中我們寫(xiě)的測(cè)試類(lèi)就是通過(guò)模版方法來(lái)調(diào)用的運(yùn)用場(chǎng)景:做一件事情,要先做什么,再做什么,最后做什么,這些順序都是固定的。這就可以用模版方法模版方法模式編程設(shè)計(jì)抽象類(lèi),在抽象類(lèi)中定義要執(zhí)行的方法在模版方法中,加入抽象定義方法的執(zhí)行步驟在實(shí)現(xiàn)類(lèi)中具體實(shí)現(xiàn)北京傳智播客教育Extends:模版方法模式(Template)publicvoidgetRuntime(){longstart=System.currentTimeMillis();for(inti=0;i<4000;i++){ System.out.print(i);}longend=System.currentTimeMillis();longruntime=end-start;System.out.println("運(yùn)行時(shí)間:"+runtime+"毫秒!");}publicvoidgetRuntime(){longstart=System.currentTimeMillis();runCode();longend=System.currentTimeMillis();longruntime=end-start;System.out.println("運(yùn)行時(shí)間:"+runtime+"毫秒!");}北京傳智播客教育Extends:模版方法模式(Template)publicvoidfinalgetRuntime(){longstart=System.currentTimeMillis();runCode();longend=System.currentTimeMillis();longruntime=end-start;System.out.println("運(yùn)行時(shí)間:"+runtime+"毫秒!");}abstractclassGetRuntime{publicvoidfinalgetRuntime(){//同上
}publicabstractvoidrunCode();}北京傳智播客教育練習(xí)做飯1.買(mǎi)菜2.洗菜3.切菜4.淘米5.蒸飯6.炒菜7.吃飯8.刷鍋裝修1.設(shè)計(jì)2.買(mǎi)材料(漆、墻紙、門(mén))3.安裝4.入住北京傳智播客教育Tip8:接口(Interface)引題橡皮和鉛筆概念Java中的接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類(lèi)實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。格式interface接口名{}特點(diǎn)接口中的成員修飾符是固定的。接口不能創(chuàng)建實(shí)例接口需要實(shí)現(xiàn)(implements)接口的屬性或函數(shù)都是public的接口屬性的訪(fǎng)問(wèn),實(shí)現(xiàn)類(lèi)實(shí)例訪(fǎng)問(wèn)/實(shí)現(xiàn)類(lèi) 訪(fǎng)問(wèn)/接口訪(fǎng)問(wèn)接口可以多實(shí)現(xiàn)(注意接口不同函數(shù)相同)interfaceA{inta=90;voidshow();}北京傳智播客教育Tip9:接口的特點(diǎn)應(yīng)用USB接口充電器接口特點(diǎn)接口是對(duì)外暴露的規(guī)則。接口是程序的功能擴(kuò)展。接口可以用來(lái)多實(shí)現(xiàn)。類(lèi)與接口之間是實(shí)現(xiàn)關(guān)系,而且類(lèi)可以繼承一個(gè)類(lèi)的同時(shí)實(shí)現(xiàn)多個(gè)接口。接口與接口之間可以有繼承關(guān)系。接口和接口之間是可以進(jìn)行多繼承的,但是這樣就打破了常規(guī)的單繼承原則。優(yōu)勢(shì)接口VS抽象類(lèi)思考:接口中是否有構(gòu)造函數(shù)?NO北京傳智播客教育練習(xí)接口的練習(xí)多個(gè)接口中有同名方法(功能重復(fù)不允許)接口繼承北京傳智播客教育Tip10:多態(tài)(Polymorphic)概念:某一類(lèi)事物的多種存在形態(tài)或者方式。例如:人分男人、女人表現(xiàn)形式:父類(lèi)或者接口的引用指向或者接收自己的子類(lèi)對(duì)象?!案割?lèi)引用指向子類(lèi)對(duì)象”如:動(dòng)物d=new貓();作用:多態(tài)的存在提高了程序的擴(kuò)展性和后期可維護(hù)性北京傳智播客教育Tip11:多態(tài)的特點(diǎn)成員函數(shù):編譯時(shí):要查看引用變量所屬的類(lèi)中是否有所調(diào)用的成員。運(yùn)行時(shí):要查看對(duì)象所屬的類(lèi)中是否有所調(diào)用的成員。靜態(tài)函數(shù)多態(tài)時(shí),查看引用變量所屬于類(lèi)的靜態(tài)函數(shù)成員變量:只看引用變量所屬的類(lèi)。多態(tài)轉(zhuǎn)型子類(lèi)轉(zhuǎn)父類(lèi)自動(dòng)父類(lèi)轉(zhuǎn)子類(lèi)強(qiáng)制instanceof綁定方式靜態(tài)綁定動(dòng)態(tài)綁定多態(tài)應(yīng)用JDBC的思想北京傳智播客教育練習(xí)使用多態(tài)求各種圖形的面積使用抽象類(lèi)實(shí)現(xiàn)使用接口實(shí)現(xiàn)北京傳智播客教育練習(xí)交換參數(shù)基本類(lèi)型引用類(lèi)型內(nèi)存分析學(xué)員問(wèn)題接口是否可以繼承實(shí)現(xiàn)類(lèi)?接口中如何定義靜態(tài)代碼塊?NO編譯時(shí)綁定(靜態(tài)成員和屬性)和運(yùn)行時(shí)綁定(重寫(xiě)的實(shí)例方法)?
Fufu=newZi();InterfaceCat北京傳智播客教育Tip12:內(nèi)部類(lèi)(Innerclass)概念:在一個(gè)類(lèi)中再定義一個(gè)類(lèi),其中里面的內(nèi)相對(duì)外面的類(lèi)而言就是內(nèi)部類(lèi)(嵌套類(lèi)(nestedclass)),外面的類(lèi)相對(duì)于里面的類(lèi)而言就是外部類(lèi)。編譯格式:Outer$Inner使用特點(diǎn):內(nèi)部類(lèi)可以直接訪(fǎng)問(wèn)外部類(lèi)中的成員,包括私有的成員(private)外部類(lèi)要使用內(nèi)部類(lèi)中的成員要?jiǎng)?chuàng)建內(nèi)部類(lèi)的對(duì)象使用細(xì)節(jié):內(nèi)部類(lèi)可以私有化訪(fǎng)問(wèn)內(nèi)部類(lèi)函數(shù)的方式:外部類(lèi).內(nèi)部類(lèi)t=new外部類(lèi)().new內(nèi)部類(lèi)();內(nèi)部局部變量、內(nèi)部類(lèi)成員變量、外部類(lèi)成員變量同名訪(fǎng)問(wèn)
xthis.xOuter.this.x北京傳智播客教育Tip12:內(nèi)部類(lèi)(Innerclass)特殊的內(nèi)部類(lèi)靜態(tài)內(nèi)部類(lèi)當(dāng)內(nèi)部類(lèi)出現(xiàn)在外部類(lèi)中的成員位置上時(shí),可以被private、
static修飾(只能使用外部類(lèi)的靜態(tài)變量)。
格式:Outer.Inner.method();
注意:當(dāng)內(nèi)部類(lèi)中定義了靜態(tài)成員,那么內(nèi)部類(lèi)就必須聲明為靜態(tài)的。局部?jī)?nèi)部類(lèi)定義在函數(shù)中的內(nèi)部類(lèi)只能訪(fǎng)問(wèn)函數(shù)中的final變量該類(lèi)不能使用private和static修飾不能定義靜態(tài)成員調(diào)用格式:參考備注北京傳智播客教育Tip12:內(nèi)部類(lèi)(Innerclass)匿名內(nèi)部類(lèi)就是內(nèi)部類(lèi)的簡(jiǎn)化寫(xiě)法。(很常見(jiàn))前提:內(nèi)部類(lèi)可以繼承或?qū)崿F(xiàn)一個(gè)外部類(lèi)或者接口。格式:new外部類(lèi)名或者接口名(){覆蓋類(lèi)或者接口中的代碼,(也可以自定義內(nèi)容。)}簡(jiǎn)單理解:就是建立一個(gè)建立一個(gè)帶內(nèi)容的外部類(lèi)或者接口的子類(lèi)匿名對(duì)象。北京傳智播客教育例子interfaceZ{ intx=1; voidshow();}classX{ intx=2; classYimplementsZ{ publicvoidshow(){ System.out.println(x); }} publicvoidshow(){ Yy=newY(); y.show(); }}publicclassTest{ publicstaticvoidmain(String[]args){ newX().show(); }}interfaceZ{ intx=1; voidshow();}classX{ intx=2;
/*classYimplementsZ{ publicvoidshow(){ System.out.println(x); } }*/ publicvoidshow(){
/*Yy=newY(); y.show();*/
newZ(){ publicvoidshow(){ System.out.println(x); } }.show(); }}publicclassTest{ publicstaticvoidmain(String[]args){ newX().show(); }}北京傳智播客教育Tip13:異常概念程序中的不正?,F(xiàn)象Java中對(duì)程序問(wèn)題的對(duì)象描述分類(lèi)java.lang.*嚴(yán)重的問(wèn)題Error
如:java.lang.NoClassDefFoundErrorjava.lang.OutOfMemoryError一般的問(wèn)題Exception
如:java.lang.ArithmeticExceptionJava異常體系
|-Throwable|-Error|-Exception|-RuntimeException(非受檢異常)|-非運(yùn)行時(shí)異常(受檢異常)Java異常特點(diǎn)Exception和Error的子類(lèi)名都是以父類(lèi)名作為后綴(觀(guān)察API文檔)北京傳智播客教育Tip13:Throwable常用方法Throwable類(lèi)對(duì)錯(cuò)誤和異常的共性進(jìn)行了描述。getMessage()獲取異常信息,返回字符串。toString()獲取異常類(lèi)名和異常信息,返回字符串。printStackTrace()獲取異常類(lèi)名和異常信息,以及異常出現(xiàn)在程序中的位置。返回值void。printStackTrace(PrintStream
s)通常用該方法將異常內(nèi)容保存在日志文件中,以便查閱。
北京傳智播客教育Tip13:異常處理JVM處理特點(diǎn):
除零異常的情況,JVM看到該問(wèn)題發(fā)生后,自動(dòng)處理,后續(xù)的程序不再執(zhí)行。實(shí)現(xiàn):
使用throw或throws拋出異常給JVM手工處理特點(diǎn):
程序出現(xiàn)問(wèn)題后處理該問(wèn)題,后續(xù)代碼繼續(xù)執(zhí)行實(shí)現(xiàn):try{}catch(){}finally{}北京傳智播客教育Tip13:異常處理異常處理格式:try{ //可能出現(xiàn)問(wèn)題的代碼}catch(異常類(lèi)變量){ //處理問(wèn)題的代碼}finally{ //有問(wèn)題、沒(méi)問(wèn)題都需要運(yùn)行的代碼 }finally代碼塊只有一種情況不會(huì)被執(zhí)行。就是在之前執(zhí)行了System.exit(0)。練習(xí)使用try{}catch(){}處理算術(shù)異常,并圖解北京傳智播客教育Tip13:異常聲明異常聲明:異常的聲明主要是為了給開(kāi)發(fā)者提供顯示的異常說(shuō)明信息實(shí)現(xiàn):intdiv(inta,intb)throwsException{}main()throwsException{}拋出給JVMtry{}catch(){}使用細(xì)節(jié)異常聲明時(shí)建議聲明為具體的異常多異常情況多catch注意:先子類(lèi)后父類(lèi)北京傳智播客教育Tip13:自定義異常概念:在特定的開(kāi)發(fā)環(huán)境中,可能會(huì)出現(xiàn)特殊的一些問(wèn)題,而java中是沒(méi)有描述的,所以開(kāi)發(fā)者可以根據(jù)java提供的描述問(wèn)題的思想來(lái)自己描述這些特殊的問(wèn)題,該過(guò)程稱(chēng)之為自定義異常。實(shí)現(xiàn)自定義異常類(lèi)繼承Exception或者其子類(lèi)。通過(guò)構(gòu)造函數(shù)定義異常信息。
classMyExceptionextendsException{MyException(Stringmessage){//描述異常信息
super(message);//查看源碼
}}使用throw拋出自定義異常使用throws在方法上將內(nèi)部發(fā)生的異常拋出給調(diào)用者調(diào)用者處理異常細(xì)節(jié)throw和throws只能對(duì)于throwable體系中的類(lèi)進(jìn)行使用北京傳智播客教育Tip13:異常細(xì)節(jié)throw和throws的區(qū)別使用范圍不同:throw使用在函數(shù)內(nèi),throws使用在函數(shù)外接收值不同:throw接收異常對(duì)象,throws接收異常類(lèi)可以是多個(gè)使用”,”分隔throw單獨(dú)存在時(shí),后面的語(yǔ)句無(wú)法執(zhí)行RuntimeException以及其子類(lèi)如果在函數(shù)中被throw拋出,可以不用在函數(shù)上聲明。(見(jiàn)備注:區(qū)分常見(jiàn)的受檢和非受檢異常)理解Object類(lèi)的wait(longtimeout)拋出和聲明的異常北京傳智播客教育練習(xí)講課(prelect)筆記本死機(jī)、藍(lán)屏問(wèn)題、突然斷電問(wèn)題等吃飯(eat)沒(méi)帶錢(qián)問(wèn)題飛機(jī)飛行沒(méi)油的問(wèn)題人生病的問(wèn)題(感冒、咳嗽)老師講課住院北京傳智播客教育Tip13:異常finallyfinally無(wú)論程序是否發(fā)生問(wèn)題,finally代碼塊都執(zhí)行格式finally{//一定會(huì)被只執(zhí)行的代碼}應(yīng)用讀文件連接數(shù)據(jù)庫(kù)操作細(xì)節(jié)catch中如果有return語(yǔ)句,finally也執(zhí)行,而包含catch語(yǔ)句塊的函數(shù)的其他語(yǔ)句不執(zhí)行當(dāng)虛擬機(jī)退出時(shí),finally不執(zhí)行在重寫(xiě)時(shí)子類(lèi)只能拋出父類(lèi)的異?;蛘咦宇?lèi)異常在重寫(xiě)時(shí)父類(lèi)拋出了多個(gè)異常,那么子類(lèi)拋出的是父類(lèi)異常的子集北京傳智播客教育Extends:開(kāi)發(fā)中常見(jiàn)的異常處理常見(jiàn)格式try{}catch(){}try{}catch(){}finally{}try{}finally{}練習(xí)voidshow(){thrownewException();}voidshow()throwsException{thrownewException();}voidshow(){try{thrownewException();}catch(Exceptione){}}閱讀MySQL的數(shù)據(jù)庫(kù)連接程序北京傳智播客教育Extends帶有異常聲明的函數(shù)的重寫(xiě)問(wèn)題當(dāng)父類(lèi)的方法聲明的是運(yùn)行時(shí)異常時(shí),子類(lèi)可以聲明,也可以不聲明該異常。當(dāng)父類(lèi)的方法聲明的是運(yùn)行時(shí)異常時(shí),子類(lèi)重寫(xiě)不能聲明非運(yùn)行時(shí)異常。子類(lèi)在重寫(xiě)方法的時(shí)候可以比父類(lèi)多拋出運(yùn)行時(shí)異常當(dāng)父類(lèi)函數(shù)聲明的是非運(yùn)行時(shí)異常,子類(lèi)重寫(xiě)可以不聲明。當(dāng)父類(lèi)函數(shù)聲明的是非運(yùn)行時(shí)異常,子類(lèi)重寫(xiě)不能聲明更多的非運(yùn)行時(shí)異常。當(dāng)父類(lèi)函數(shù)聲明的是非運(yùn)行時(shí)異常,子類(lèi)重寫(xiě)不能聲明比父類(lèi)聲明的異常范圍更大的異常當(dāng)父類(lèi)函數(shù)聲明的是非運(yùn)行時(shí)異常,子類(lèi)重寫(xiě)可以聲明父類(lèi)異常的子類(lèi),而且子類(lèi)可以是多個(gè)北京傳智播客教育練習(xí)求圓形(Circle)和長(zhǎng)方形(Rect)的面積數(shù)值問(wèn)題。北京傳智播客教育Tip14:包(package)引題:100個(gè)人創(chuàng)建100個(gè)類(lèi)包:系統(tǒng)中的文件夾或者目錄,主要用于類(lèi)文件的管理格式:package目錄.目錄….;如:cn.itcast.dao使用細(xì)節(jié):編寫(xiě)一個(gè)帶包名的類(lèi),直接編譯運(yùn)行包語(yǔ)句必須出現(xiàn)類(lèi)的第一行類(lèi)的名稱(chēng)是包名.類(lèi)名(全限定名)包也是一種封裝形式優(yōu)勢(shì):javac–dc:\classesDemo.java使得java源文件和字節(jié)碼文件相分離北京傳智播客教育Tip14:包(package)包之間的類(lèi)訪(fǎng)問(wèn)問(wèn)題包AA1類(lèi)包BB1類(lèi)voidshow(){System.out.println(“hello”);}注意:被調(diào)用的類(lèi)的修飾符要public權(quán)限,而且調(diào)用的函數(shù)也要是public權(quán)限包中類(lèi)的繼承問(wèn)題包中類(lèi)的繼承問(wèn)題protected修飾符北京傳智播客教育四種權(quán)限publicprotecteddefaultprivate同一類(lèi)中√√√√同一包中√√√子類(lèi)√√不同包中√
類(lèi):publicdefault函數(shù):publicprotecteddefaultprivate屬性:publicprotecteddefaultprivate北京傳智播客教育Tip15:導(dǎo)包語(yǔ)句(import)引題:當(dāng)包名很長(zhǎng),創(chuàng)建類(lèi)的時(shí)候很累?作用:import語(yǔ)句的出現(xiàn)主要用來(lái)簡(jiǎn)化類(lèi)名的書(shū)寫(xiě)。格式:import包名;Import包名.*;使用細(xì)節(jié):一個(gè)程序文件中只有一個(gè)package,可以有多個(gè)import。用來(lái)導(dǎo)包中的類(lèi),不導(dǎo)入包中的包。通常寫(xiě)importmypack.Demo;
而不寫(xiě)importmypack.*;為什么?注意:當(dāng)導(dǎo)入的兩個(gè)包中有兩個(gè)相同的類(lèi)時(shí),創(chuàng)建類(lèi)的時(shí)候必須指定類(lèi)的包名。注意:為了保證包名的不重復(fù),一般使用URL地址來(lái)指定包名。如:cn.itcast;北京傳智播客教育練習(xí)Object的clone()API查看protected修飾符super關(guān)鍵字接口的實(shí)現(xiàn)受檢異常對(duì)象類(lèi)型轉(zhuǎn)換classDemo12{ publicstaticvoidmain(String[]args)throwsException { Aa=newA(); a.age=34; System.out.println(a.age); Ab=(A)a.getClone(); a.age=45; System.out.println(b.age); }}classAimplementsCloneable
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度購(gòu)房合同因中介誤導(dǎo)導(dǎo)致的合同解除與賠償執(zhí)行合同
- 二零二五年度企業(yè)信用評(píng)級(jí)認(rèn)證服務(wù)協(xié)議
- 2025年度海洋資源勘探個(gè)人勞務(wù)用工合同書(shū)
- 二零二五年度貨車(chē)司機(jī)駕駛安全教育與責(zé)任保險(xiǎn)協(xié)議
- 二零二五年度金融科技公司干股虛擬股分紅及投資協(xié)議
- 二零二五年度汽車(chē)美容店汽車(chē)美容品牌授權(quán)合同
- 2025年度民族風(fēng)情餐廳承包運(yùn)營(yíng)合同
- 二零二五年度土地流轉(zhuǎn)與農(nóng)村社會(huì)保障體系建設(shè)協(xié)議
- 2025年度環(huán)保產(chǎn)業(yè)員工勞動(dòng)關(guān)系解除協(xié)議
- 二零二五年度黃金投資俱樂(lè)部會(huì)員招募合同
- 《團(tuán)隊(duì)的凝聚力》課件
- 膝關(guān)節(jié)僵硬個(gè)案護(hù)理
- 復(fù)工復(fù)產(chǎn)檢查 清單
- 《民間皮影》課程標(biāo)準(zhǔn)
- 統(tǒng)編版一年級(jí)語(yǔ)文下冊(cè)部編版第六單元單元教材解讀(素材)(課件)
- 新教科版六下科學(xué)1.4《設(shè)計(jì)塔臺(tái)模型》教學(xué)設(shè)計(jì)(新課標(biāo))
- (2024版)計(jì)算機(jī)程序設(shè)計(jì)員三級(jí)備考試題庫(kù)-上(單選題匯總)
- ISO200002018版標(biāo)準(zhǔn)培訓(xùn)教材
- 電氣設(shè)備維修
- 教科版六年級(jí)下冊(cè)科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時(shí))
- 森林專(zhuān)業(yè)撲火隊(duì)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論