freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java基礎(chǔ)知識點總結(jié)(編輯修改稿)

2025-07-25 08:47 本頁面
 

【文章內(nèi)容簡介】 b extends Base{ public String color。 public Sub(double size,String name,String color){ //通過super調(diào)用父類構(gòu)造器的初始化過程 super(size,name)。 =color。 } public static void main(String[] args){ Sub s=new Sub(,測試,red)。 (+,++,+)。 }}Super調(diào)用的是其父類的構(gòu)造器,而this調(diào)用的是同一個類中重載的構(gòu)造器;因此,使用super調(diào)用父類的構(gòu)造器也必須出現(xiàn)在子類構(gòu)造器執(zhí)行體的第一行,所以this調(diào)用和super調(diào)用不會同時出現(xiàn)。當(dāng)調(diào)用子類構(gòu)造器來初始化子類對象時,父類構(gòu)造器總會在子類構(gòu)造器之前執(zhí)行;不僅如此,執(zhí)行父類構(gòu)造器時,系統(tǒng)會再次上溯執(zhí)行其父類的構(gòu)造器……依次類推,創(chuàng)建任何java對象。public class Creature { public Creature(){ (無參)。 }}public class Animal extends Creature { public Animal(String name){ (Animal帶一個參數(shù)的構(gòu)造器+name)。 } public Animal(String name,int age){ //this調(diào)用同一個重載構(gòu)造器 this(name)。 (Animal帶兩個參數(shù)的構(gòu)造器+age)。 }}public class Wolf extends Animal { public Wolf(){ super(灰太狼,4)。 (wolf無參構(gòu)造器)。 } public static void main(String[] args){ Wolf wf=new Wolf()。 //雖然main方法只創(chuàng)建了一個Wolf對象,但系統(tǒng)在底層完成了復(fù)雜的操作,運行將會得到// 無參// Animal帶一個參數(shù)的構(gòu)造器灰太狼// Animal帶兩個參數(shù)的構(gòu)造器4// wolf無參構(gòu)造器 }}創(chuàng)建任何對象總是從該類所在繼承樹最頂層類的構(gòu)造器開始執(zhí)行,然后依次向下執(zhí)行,最后才執(zhí)行本類的構(gòu)造器。如果某個父類通過this調(diào)用了同類中重載的構(gòu)造器,就會依次執(zhí)行此父類的多個構(gòu)造器。:Java引用變量有兩個類型:一個是編譯時類型,一個是運行時類型。編譯時類型由聲明該變量時使用的類型決定,運行時類型由實際賦給該變量的對象決定。如果編譯時類型和運行時類型不一致,就可能出現(xiàn)所謂的多態(tài)。public class BaseClass { public int book=6。 public void base(){ (父類的普通方法)。 } public void test(){ (父類被覆蓋的方法)。 }}public class SubClass extends BaseClass { //重寫定義一個book實例變量隱藏父類的book實例變量 public String book=abc。 public void test(){ (子類的覆蓋父類的方法)。 } public void sub(){ (子類的普通方法)。 } public static void main(String[] args){ //編譯時類型和運行時類型完全一樣,因此不存在多態(tài) BaseClass bc=new BaseClass()。 //輸出父類bc對象的成員變量值:6 ()。 ()。 ()。 //編譯時類型和運行時類型完全一樣,因此不存在多態(tài) SubClass sbc=new SubClass()。 //輸出子類對象sbc的成員變量值:abc ()。 ()。 ()。 //下面調(diào)用將執(zhí)行從父類繼承到的base()方法 ()。 //編譯時類型和運行時類型不一樣,發(fā)生多態(tài)發(fā)生 BaseClass ployBc=new SubClass()。 //訪問的是父類對象的實例變量 ()。 //執(zhí)行從父類繼承到的base()方法 ()。 //調(diào)用將執(zhí)行當(dāng)前類的test()方法 ()。// ()。 因為編譯時類型是BaseClass,沒有提供sub()方法,所以編譯會出現(xiàn)錯誤 }}因為子類是一種特殊的父類,因此java允許把一個子類對象直接賦給一個父類引用變量,無須任何類型轉(zhuǎn)換,或者被稱為向上轉(zhuǎn)型,向上轉(zhuǎn)型由系統(tǒng)自動完全。對象的實例變量不具備多態(tài)性。注:引用變量在編譯階段只能調(diào)用其編譯時類型所具有的方法,但運行時則執(zhí)行它運行時類型所具有的方法。因此在編寫Java代碼時,引用變量只能調(diào)用聲明該變量時所用類里包含的方法。例如:Object p=new Person()代碼定義了一個變量P,則這個P只能調(diào)用Object類的方法,而不能調(diào)用Person類里的方法。如果需要讓這個引用變量調(diào)用它運行時類型的方法,則必須把它強制類型轉(zhuǎn)化成運行時的類型,強制類型轉(zhuǎn)換符需要借助于類型轉(zhuǎn)換運算符,用法是(type)variable強制類型轉(zhuǎn)換需要注意:基本類型之間的轉(zhuǎn)換只能在數(shù)值類型之間進行,這里所說的數(shù)值類型包括,整數(shù)型、字符型和浮點型;但數(shù)值類型和布爾類型之間不能進行類型轉(zhuǎn)換。引用類型之間的轉(zhuǎn)換只能在具有繼承關(guān)系的兩個類型之間進行,如果是兩個沒有任何繼承關(guān)系的類型,則無法進行類型轉(zhuǎn)換??紤]到強制類型轉(zhuǎn)換時可能出現(xiàn)異常,因此進行類型轉(zhuǎn)換之前應(yīng)先通過instanceof運算符來判斷是否可以成功轉(zhuǎn)換。注意:當(dāng)把子類對象賦給父類引用變量時,被稱為向上轉(zhuǎn)型,這種轉(zhuǎn)型總是可以成功的,這也從另一個側(cè)面證實了子類是一種特殊的父類。這種轉(zhuǎn)型只是表明這個引用變量的編譯時類型是父類,但實際執(zhí)行它的方法時,依然表現(xiàn)出子類對象行為方式。但把一個父類對象賦給子類引用變量時,就需要進行強制類型轉(zhuǎn)換,而且還可能在運行時產(chǎn)生ClassCastException異常,使用instanceof運算符可以讓強制類型轉(zhuǎn)換更安全。Instanceof運算符:Instanceof運算符前一個操作數(shù)通常是一個引用類型變量,后一個操作數(shù)通常是一個類(也可以是接口),它用于判斷前面的對象是否是后面的類,或者其子類、實現(xiàn)的實例。如果是,則返回ture,否則返回false.在使用instanceof運算符時需要注意:instanceof運算符前面操作數(shù)的編譯時類型要么與后面的類相同,要么與后面的類具有父子繼承關(guān)系,否則會引起編譯錯誤。public class instanceofTest { public static void main(String[] args){ //聲明hello時使用Object類,則hello的編譯類型是Object //Object是所有類的父類,但hello變量的實際類型是String Object hello=hello。 ((hello instanceof Object))。 //String和Object類存在繼承關(guān)系,可以進行instanceof運算,返回true ((hello instanceof String))。 //Math和Object類存在繼承關(guān)系,可以進行instanceof運算,返回false ((hello instanceof Math))。 //String 實現(xiàn)了Comparabel接口,所以返回true ((hello instanceof Comparable))。 String a=hello。 //String類和Math類沒有繼承關(guān)系,所以下面的代碼編譯無法通過// ((a instanceof Math))。 }}4.8初始化塊:初始化塊是一段固定執(zhí)行的代碼,它不能接受任何參數(shù)。因此初始化塊對同一個類的所有對象所進行的的初始化處理完全相同。如果兩個構(gòu)造器中有相容的初始化代碼,且這些初始化代碼無須接收參數(shù),就可以把它們放在初始化塊中定義。當(dāng)創(chuàng)建java對象時,系統(tǒng)總是先調(diào)用該類里定義的初始化塊,相同類型的初始化塊之間按順序執(zhí)行。初始化塊在執(zhí)行構(gòu)造器之前執(zhí)行。與構(gòu)造器類型,創(chuàng)建一個java對象時,不僅會執(zhí)行該類的普通初始化塊和構(gòu)造器,,依次向下執(zhí)行其子類的初始化塊,再開始執(zhí)行其子類的構(gòu)造器…最后才執(zhí)行該類的初始化塊和構(gòu)造器,返回該類的對象。靜態(tài)初始化塊:如果定義初始化塊時使用了static修飾符,則這個初始化塊就變成了靜態(tài)初始化塊,也被稱為類初始化塊(普通初始化塊負(fù)責(zé)對對象執(zhí)行初始化,類初始化塊則負(fù)責(zé)對類進行初始化)。靜態(tài)初始化塊總是類相關(guān)的,系統(tǒng)將在類初始化階段執(zhí)行靜態(tài)初始化塊,而不是在創(chuàng)建對象時才執(zhí)行。因此靜態(tài)初始化塊總是比普通初始化塊先執(zhí)行。通常靜態(tài)初始化塊用于對類變量執(zhí)行初始化處理。與普通初始化塊類型,系統(tǒng)在類初始化階段執(zhí)行靜態(tài)初始化塊時,不僅會執(zhí)行本類的靜態(tài)初始化塊,從最高父類開始一直到本類結(jié)束,依次執(zhí)行每個類中的靜態(tài)初始化塊。public class Test { public static void main(String[] args){ new Leaf()。 new Leaf()。 }}class Root{ static{ (Root的靜態(tài)初始化塊)。 } { (Root的初始化塊)。 } public Root(){ (Root 的無參構(gòu)造器)。 }}class Mid extends Root{ static{ (Mid的靜態(tài)初始化塊)。 } { (Mid的初始化塊)。 } public Mid(){ (Mid的無參構(gòu)造器)。 } public Mid(String msg){ //通過this調(diào)用同一類中重載的構(gòu)造器 this()。 (Mid的帶有參數(shù)的構(gòu)造器)。 }}class Leaf extends Mid{ static{ (Leaf的靜態(tài)初始化塊)。 } { (Leaf的初始化塊)。 } public Leaf(){ super(abc)。 (執(zhí)行Leaf的構(gòu)造器)。 }}Root的靜態(tài)初始化塊Mid的靜態(tài)初始化塊Leaf的靜態(tài)初始化塊Root的初始化塊Root 的無參構(gòu)造器Mid的初始化塊Mid的無參構(gòu)造器Mid的帶有參數(shù)的構(gòu)造器Leaf的初始化塊執(zhí)行Leaf的構(gòu)造器Root的初始化塊Root 的無參構(gòu)造器Mid的初始化塊Mid的無參構(gòu)造器Mid的帶有參數(shù)的構(gòu)造器Leaf的初始化塊執(zhí)行Leaf的構(gòu)造器類初始化階段,先執(zhí)行最頂層父類的靜態(tài)初始化塊,然后依次向下,直到執(zhí)行當(dāng)前類的初始化塊。對象初始化階段,先執(zhí)行最頂層父類的初始化塊、最頂層父類的構(gòu)造器,然后依次向下,直到執(zhí)行當(dāng)前類的初始化塊、當(dāng)前類的構(gòu)造器Java系統(tǒng)加載并初始化某個類時,總是保證該類的所有父類(包括直接父類和間接父類)全部加載并進行初始化。靜態(tài)初始化塊和靜態(tài)成員變量的執(zhí)行順序與在源程序中排列順序相同。第五章 面向?qū)ο笙?java增強的包裝類為了解決8種基本類型的變量不能當(dāng)成Object類型變量使用的問題,java提供了包裝類的概念。除了int和char有點例外,其他的基本數(shù)據(jù)類型對應(yīng)的包裝類都是將其首字母大寫即可。自動裝箱和自動拆箱用法:public class AutoBoxingUnboxing { public static void main(String[] args){ //直接把一個基本類型變量賦給Integer對象 Integer inObj=5。 //直接把一個boolean類型變量賦給Object類型變量 Object boolObj=true。 //直接把一個Integer對象賦給int類型變量
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1