牛客習題總結17

在這裏插入圖片描述
在這裏插入圖片描述

抽象類中的抽象方法(其前有 abstract1修飾)不能用 private、 static、 synchronized、na
tive訪回修飾符修飾。原因如下:

  1. private
    抽象方法沒有方法體,是用來被繼承的,所以不能用 private修飾;
    2.static
    static修飾的方法可以通過類名來訪間該方法(即該方法的方法體),抽象方法用sttic修飾沒有意義;
  2. synchronized
    該關鍵字是爲該方法加一個鎖。而如果該關鍵字修飾的方法是 static方法。則使用的鎖就是class變量的鎖。如果是修飾類方法。則用this變量鎖。
    但是抽象類不能實例化對象,因爲該方法不是在該抽象類中實現的。是在其子類實現的。所以,鎖應該歸其子類所有。所以,抽象方法也就不能用 synchronized關鍵字修飾了;
  3. native
    native這個東西本身就和 abstract衝突,他們都是方法的聲明,只是一個把方法實現移交給子類,另一個是移交給本地操作系統。如果同時出現,就相當於即把實現移交給子類,又把實現移交給本地操作系統,那到底誰來實現具體方法呢

終於說到了接口!
接口是一種特殊的抽象類,接口中的方法全部是抽象方法(但其前的 abstract可以省略),所以抽象類中的抽象方法不能用的訪間修飾符這裏也不能用。同時額外說明一下protect關鍵詞
4. protect
protected訪同修飾符也不能使用,因爲接口可以讓所有的類去實現(非繼承),不只是其子類,但是要用public去修飾。接口可以去繼承一個已有的接口。
在這裏插入圖片描述
在這裏插入圖片描述

.所有方法:

  1. getClass()
  2. hashCode()
  3. equals()
  4. toString()
  5. clone()
  6. wait()…
  7. notify()
  8. notifyAll()
  9. finalize()
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章