日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

接口interface修饰符相关问题总结

發布時間:2025/3/12 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口interface修饰符相关问题总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、抽象類中的抽象方法(其前有abstract修飾)不能用private、static、synchronized、native訪問修飾符修飾。

原因如下:

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

擴展:

類、方法、成員變量和局部變量的可用修飾符

修飾符成員方法構造方法成員變量局部變量
abstract(抽象的)
static (靜態的)
public(公共的)
protected(受保護的)
private(私有的)
synchronized(同步的)
native(本地的)
transient(暫時的)
volatie(易失的)
final(不要改變的)
類 修飾符
Public可以從其他類中訪問
Abstract本類不能被實例化
Final不能再聲明子類
構造函數修飾符
Public可以從所有的類中訪問
Protected只能從自己的類和它的子類中訪問
Private只能在本類中訪問
域/成員變量修飾符
Public可以從所有的類中訪問
Protected只能從本類和它的子類中訪問
Private只能從本類中訪問它
Static對該類的所有實例只能有一個域值存在
transient不是一個對象持久狀態的一部份
Volatile可以被異步的線程所修改
final必須對它賦予初值并且不能修改它
局部變量 修飾符
final必須對它賦予初值并且不能修改它
方法修飾符
Public可以從所有的類中訪問它
Protected只能從本類及其子類中訪問它
Private只能從本類中訪問它
abstract沒有方法體,屬于一個抽象類
final子類不能覆蓋它
static被綁定于類本身而不是類的實例
native該方法由其他編程語言實現
asnchronized在一個線程調用它之前必須先給它加

類的修飾符整合

一.類

類的修飾符:

Public:可以在其他任何類中使用,默認為統一包下的任意類。

Abstract:抽象類,不能被實例化,可以包含抽象方法,抽象方法沒有被實現,無具體功能,只能衍生子類。

Final:不能被繼承。

二.變量

變量修飾符:

一個類的成員變量的聲明必須在類體中,而不能在方法中,方法中聲明的是局部變量

  • 可訪問修飾符

  • static類變量:一個類所擁有的變量,不是類的每個實例有的變量。類變量是指不管類創建了多少對象,系統僅在第一次調用類的時候為類變量分配內存,所有對象共享該類的類變量,因此可以通過類本身或者某個對象來訪問類變量。

  • final常量

  • volatile:聲明一個可能同時被并存運行的幾個線程所控制和修改的變量。

  • 實例變量:和類變量對應,即每個對象都擁有各自獨立的實例變量。

    三.方法:(和變量對象分為實例方法和類方法,并用有無static修飾區別)

    類方法:使用static關鍵字說明的方法

    1.第一次調用含類方法的類是,系統只為該類創建一個版本,這個版本被該類和該類的所有實例共享。

    2.類方法只能操作類變量,不能訪問實例變量。類方法可以在類中被調用,不必創建實例來調用,當然也可以通過對象來調用。

    實例方法:實例方法可以對當前對象的實例變量操作,而且可以訪問類變量。

    方法可以重載,要求:方法名相同,但是參數必須有區別。(參數不同可以使類型不同,順序不同,個數不同)

    方法中的變量作用域:

  • 成員變量:整個類。

  • 局部變量:定義起到方法塊結束為止。

  • 方法參數:整個方法或者構造方法。

  • 異常處理參數:參數傳遞給異常處理方法。

  • 構造方法:和類同名的方法。為新建對象開辟內存空間后,用于初始化新建的對象。不能用對象顯式的調用。

    靜態初始化器:格式:static{<賦值語句組>}

    靜態初始化器與構造方法的區別:

    靜態初始化器構造方法
    對類的靜態域初始化對新建的對象初始化
    類進入內存后,系統調用執行執行new后自動執行
    屬特殊語句(僅執行一次)屬特殊方法

    方法的修飾符:

    抽象方法:用abstract修飾,只有聲明部分,方法體為空,具體在子類中完成。

    類方法:靜態方法,用static修飾,

  • 調用時,使用類名作為前綴,而不是類的某個實例對象名

  • 不能被單獨對象擁有,屬于整個類共享。

  • 不能處理成員變量(靜態只能調用靜態)。

  • 最終方法:用final修飾,不能被子類重新定義的方法。

    本地方法:用native修飾的方法,表示用其他語言書寫的特殊方法,包括C,C++,FORTRAN,匯編語言等。

    四.類成員的訪問控制符

    即類的方法和成員變量的訪問控制符,一個類作為整體對象不可見,并不代表他的所有域和方法也對程序其他部分不可見,需要有他們的訪問修飾符判斷。

    權限如下:

    訪問修飾符同一個類同包不同包,子類不同包,非子類
    private
    protected
    public
    默認

    總結

    以上是生活随笔為你收集整理的接口interface修饰符相关问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。