資源描述:
《[零基礎(chǔ)學java]java se面向?qū)ο蟛糠?16.面向?qū)ο蟾呒?04)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、上季內(nèi)容回顧:1、final關(guān)鍵字·修飾類不能被繼承·修飾方法不能被覆寫·修飾的變量就是一個常量,全局常量(publicstaticfinal)2、抽象類和接口·抽象類:只包含一個抽象方法的類,抽象方法只需聲明而不需要實現(xiàn),必須有子類·接口:只包含抽象方法和全局常量的類——接口,也是必須有子類在實際中一個類很少會去繼承一個已經(jīng)完全實現(xiàn)好的類,基本上都是繼承抽象類和實現(xiàn)接口。本季主要知識點:1、對象的多態(tài)性2、instanceof關(guān)鍵字3、Object類對象的多態(tài)性注意點:為了清楚的闡述出概念,現(xiàn)在先使用普通類的繼承關(guān)系。向上轉(zhuǎn)型:classA????{????????
2、????publicvoidfun1()????????????{????????????????????System.out.println("A類===>publicvoidfun1()");????????????}????????????publicvoidfun2()????????????{????????????????????//fun2方法調(diào)用的是fun1方法????????????????????this.fun1();????????????}????}????classBextendsA????{????????????//覆寫A類中的fun1
3、()方法????????????publicvoidfun1()????????????{????????????????????System.out.println("B類===>publicvoidfun1()");????????????}????????????publicvoidfun3()????????????{????????????????????System.out.println("B類===>publicvoidfun3()");????????????}????}????publicclassDemo01????{????????????pu
4、blicstaticvoidmain(Stringargs[])????????????{????????????????????Bb=newB();????????????????????Aa=newA();????????????????????b.fun1();????????????????????a.fun2();????????????????????b.fun3();????????????}????}對象多態(tài)性體現(xiàn)在對象相互轉(zhuǎn)型上面哈~classA????{????????????publicvoidfun1()????????????{???????
5、?????????????System.out.println("A類===>publicvoidfun1()");????????????}????????????publicvoidfun2()????????????{????????????????????//fun2方法調(diào)用的是fun1方法????????????????????this.fun1();????????????}????}????classBextendsA????{????????????//覆寫A類中的fun1()方法????????????publicvoidfun1()????????
6、????{????????????????????System.out.println("B類===>publicvoidfun1()");????????????}????????????publicvoidfun3()????????????{????????????????????System.out.println("B類===>publicvoidfun3()");????????????}????}????publicclassDemo02????{????????????publicstaticvoidmain(Stringargs[])????????
7、????{????????????????????//聲明一個父類對象????????????????????Aa=null;????????????????????//newB()是子類對象向父類對象轉(zhuǎn)換????????????????????a=newB();????????????????????a.fun1();????????????}????}現(xiàn)在我們來看下a.fun1()調(diào)用的是哪個類的方法哈~classA????{????????????publicvoidfun1()????????????{????????????????????