欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
關(guān)于final方法

final方法是不能被覆蓋的方法,但可以被重載(即方法名相同而參數不同).
另外有一個(gè)很容易被搞糊涂的地方是當方法是private final時(shí).首先要知道的是:當一個(gè)方法被聲明為private時(shí),該方法隱式的指定為final!說(shuō)到這里,也許你就會(huì )有產(chǎn)生一個(gè)疑問(wèn),既然private被隱式地指定為fianl,那么為什么它可以被覆蓋?就象下面的程序為什么可以運行?

class Father {
      private final void f() {     //即使這里你不顯示的加上final,它隱式的就是final
         System.out.println("Father.f()");
      }
}

public class Son extends Father {
      private final void f() {     //看上去象不象覆蓋??
         System.out.println("Son.f()");
      }
      void test() {
         f();
      }
  
    public static void main(String[] a) {
        new Son().test();
       
    }
  
}    //本程序的輸出結果為: Son.f()    ???

       在闡明這個(gè)問(wèn)題前,先來(lái)了解一下什么叫做覆蓋.
“覆蓋”只有在某方法是基類(lèi)接口的一部分時(shí)才發(fā)生。即,必須能將一個(gè)對象向上轉型為它的基類(lèi)并調用相同的方法.如果一個(gè)方法是private的,它就不是基類(lèi)接口的一部分,它只是隱藏在類(lèi)里面的一些代碼罷了!

    正如我們剛才說(shuō)的,private默認的是final,可見(jiàn),private方法是不能被覆蓋。但是因為它可以以相同的名字存在于子類(lèi)中,所以“看上去”它被“覆蓋”了。從子類(lèi)來(lái)看,它根本不知道父類(lèi)有這個(gè)方法(因為private的權限是定義它的類(lèi)本身才能使用它,因此private方法就不能被帶到子類(lèi)中),而父類(lèi)也不知道子類(lèi)有這個(gè)方法,它們是獨自存在于各自類(lèi)的內部的,與接口無(wú)關(guān)。所以,我們并沒(méi)有覆蓋private方法,只是創(chuàng )建了一個(gè)新的方法,而碰巧也有那個(gè)名字!

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
淺析繼承關(guān)系中的方法調用
Java類(lèi)初始化順序
JAVA -----super,this的區別及構造函數的使用
重寫(xiě)與重載的區別
java繼承機制
如何理解父類(lèi)引用指向子類(lèi)對象
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久