Java基础课程---权限修饰符
1 java? 權(quán)限修飾符
???? 從小到大
? private 只有類中能用
?
? 缺省,類,同一個包中能用
?
?? protected,類,同一個包中能用,以及不同包中的子類可以使用
?
?? public:公共的,都可以使用,同一個工程下。
?
2 java 繼承的應(yīng)用
???? 1 減少了代碼的冗余
???? 2 便于擴展功能
???? 3 為多態(tài)提供支持
???? 父類中聲明為私有的屬性或者方法,子類繼承父類以后,仍然認為
???? 獲取了父類中中似有的結(jié)構(gòu),只是因為封裝性的影響,使得子類
??? 不能直接調(diào)用父類的結(jié)構(gòu)而已。
?
3 super調(diào)用構(gòu)造器
??? 1。我們可以在子類的構(gòu)造器中顯式的使用 super()的方式 調(diào)用父類中聲明的指定構(gòu)造器
??? 2。super(形參列表) 的使用,必須在子類構(gòu)造器的首行。
??? 3。我們在類的構(gòu)造器中,針對 this(形參列表) 或者 super(形參列表) 只能二選一,不能同時出現(xiàn),
??? 4。在構(gòu)造器的首行,沒有顯式的聲明 this()或者super() 則默認調(diào)用的是父類中空參的構(gòu)造器
??? 5。在類的多個構(gòu)造器中,至少有一個類的構(gòu)造器使用了 super()調(diào)用父類的構(gòu)造器。
??
4 字類對象實例化的過程
?????
?
?
5 java 多態(tài)性
?? 1 何為多態(tài)性
? ? ? : 父類的引用指向了字類的對象,(或者,子類的對象指向父類的引用)
?? 2 多態(tài)的使用:虛擬方法的調(diào)用
? ? 有了對象的多態(tài)性以后,我們在編譯期間,只能調(diào)用父類中的方法,但是在運行期間?
,我們實際執(zhí)行的是子類重寫父類的方法,
??? 總結(jié):? 編譯看左邊,運行看右邊,
??? 注意: 多態(tài)創(chuàng)建的對象,是不能調(diào)用子類特有的方法的,因為在編譯期間當作是父類的對象。
??? 3 :多態(tài)性的使用前提
????????? 1 類的繼承關(guān)系
????????? 2 方法的重寫。
?? 4 : 多態(tài)性的好處?
?????????? 可以減少代碼的重復,是代碼更規(guī)范,
?
?? 5 :多態(tài)性只適合用于 方法,不適合用于 屬性(編譯和運行都看左邊)
?
?? 6,有了對象的多態(tài)以后,內(nèi)存中實際上是加載了子類特有的屬性和方法的,但是由于
??????? 變量聲明為父類類型,導致編譯時,只能使用父類聲明的方法和屬性,子類特有的方法和屬性不能調(diào)用。
?
?? 7 :如何調(diào)用子類的特有方法和和屬性?
????????? 向下轉(zhuǎn)型(強制類型轉(zhuǎn)換),使用強轉(zhuǎn)可能出現(xiàn)異常,在強轉(zhuǎn)時,判斷。關(guān)鍵字 instance of
?
?? 8 : 1 若子類重寫了父類方法,就意味著子類里定義的方法徹底的覆蓋了父類的同名方法,系統(tǒng)將不可能把父類里的方法轉(zhuǎn)移到子類只去。
????????? 2? 對于實例變量則不存在這樣的現(xiàn)象,即使子類里定義了與父類完全相同的實例變量,這個實例變量依然不可能覆蓋父類中的定義的
???????????? 實例變量:編譯看左邊,運行看右邊。
?
?? 9: 多態(tài)時編譯時行為,還是運行時行為?
????? 運行時行為。
?? 10 ,知識點,如下代碼方法中,認為是一樣的會報錯,,如果其中一個方法在父類中,則認為子類重寫了父類的方法。
????
// 父類class Demo{public void add(int a,int ...arr){}}class Demo2 extends Demo{// 認為重寫了父類中的方法public void add(int a ,int [] arr){}}?
轉(zhuǎn)載于:https://www.cnblogs.com/wjgbok/p/10821652.html
總結(jié)
以上是生活随笔為你收集整理的Java基础课程---权限修饰符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电动托盘堆垛车属于特种设备吗
- 下一篇: Javascript 程序放在哪