導航:首頁 > 編程語言 > java類的訪問控制

java類的訪問控制

發布時間:2024-12-05 13:45:24

java訪問控制許可權有哪些

java中成員的訪問許可權共有四種,其中三種有訪問許可權修飾詞:public,protected,private。

  1. Public:許可權最大,允許所有類訪問,但其他包下的類想要訪問需使用import關鍵字將這些public類導入包中才可使用,換句話說,import將不同包的類導入到一個包下,從而轉化為包訪問許可權下的情況。

  2. Protected:除了提供包訪問許可權以外,還對扒攜辯繼承該類的所有派生類賦予訪問隱攜許可權。

  3. Private:許可權最小,只能由包含該成員(域和方法)的類本身訪問,其他任何類都無法訪問。

  4. 不使用這三個關鍵詞時,則提供默認包訪問許可權,該許可權春缺只允許同一個包下(即同一個目錄下的Java文件)的類訪問該類。

  5. 注意:private和protected只能修飾成員,無法修飾類。類要麼是public的,要麼是包訪問許可權。

Ⅱ Java的訪問控制許可權有哪幾種試以類格式形式列出Java的訪問控制。

訪問許可權的等級最大到最小依次是:public,protected,包訪問許可權(無關鍵字)和private。

成員的訪問許可權取得對某成員(屬性和方法)的實現方法有下面四種情況

1, 許可權設置為public; 2, 默認包訪問許可權,在同一包中的其他類,可以訪問; 3, 許可權設置為public或者protected,通過繼承的子類可以訪問; 4, 設置為private,提供訪問器和變異器方法(get/set);

下面介紹這四種許可權(相對成員而言)

1, 包訪問許可權,在同一包中的類可以訪問; 2, Public:介面訪問許可權,任何類都可以訪問; 3, Private:你無法訪問,除了包含該成員的類,其他類都可以訪問。 4, Protected:繼承訪問許可權,包括包訪問許可權。在同一包中,還有就是子類可以訪問。

類的訪問許可權類的訪問

只有兩種:包訪問許可權或public(用法同上) 如果不希望其他類擁有該類的訪問許可權,可以把這個來說有的構造器制定為private(比如單列模式)。

Ⅲ Java中4種不同級別的訪問控制符

在Java中,存在四種訪問控制級別,它們分別是private、default、protected和public。下圖展示了這四種級別的訪問控制,由小到大依次排列。

訪問控制級別由小到大

這四種訪問控制級別具體解釋如下:

private(當前類訪問級別):當一個類成員被private修飾時,它只能被該類的其他成員訪問,其他類無法直接訪問。實現類的良好封裝通常採用private關鍵字。

default(包訪問級別):如果類或類成員未使用任何訪問控制符,默認為包訪問級別,這意味著只能被同一包中的其他類訪問。

protected(子類訪問級別):如果類成員被protected修飾,那麼它既可被同一包下的其他類訪問,也能被不同包下的該類子類訪問。

public(公共訪問級別):public是訪問控制中最寬松的級別,被public修飾的類或類成員可以被所有類訪問,無論訪問類與被訪問類是否在同一包中。

下表進一步直觀地展示了四種訪問級別:

訪問控制級別

要點:若Java源文件中定義的所有類未使用public修飾,文件名可為合法文件名;若源文件包含一個public修飾的類,文件名需與public修飾類的類名相同。

Ⅳ 什麼是Java類的訪問許可權

在解釋訪問許可權控制之前,先看一個場景。

在學生信息管理系統中,有兩個類,分別是學生類和課程類,課程類提供了課程表和課程安排兩個方法,學生類可以調用課程類提供的課程表查看課程安排,但不能調用課程安排方法,該如何處理,此時就可以利用訪問許可權來進行控制。

在Java中,提供了四種訪問許可權控制:默認訪問許可權(包訪問許可權),public,private以及protected。

默認訪問許可權(default):即不加任何訪問修飾符,通常稱為「默認訪問模式「。該模式下,只允許在同一個包中進行訪問。

private: 對訪問許可權限制的最窄的修飾符,一般稱之為「私有的」。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。

protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為「保護的」。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。

public: Java語言中訪問限制最寬的修飾符,一般稱之為「公共的」。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。下表列出了四種訪問許可權的控制粒度:

packagecom.cxh.test1;
classPeople{//默認訪問許可權(包訪問許可權)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}

代碼可以看出,修飾People類採用的是默認訪問許可權,而由於People類和Main類在同一個包中,因此People類對於Main類是可見的。

閱讀全文

與java類的訪問控制相關的資料

熱點內容
哪個軟體可以編程手機軟體 瀏覽:554
如東如何學數控編程培訓 瀏覽:5
微信h5頁面怎麼修改 瀏覽:931
手機怎麼無法打開視頻文件夾 瀏覽:840
抖音如何上直播網站 瀏覽:887
錄屏截圖大師保存的文件在哪裡 瀏覽:751
紅河谷第二個版本 瀏覽:895
c語言如何讓整型數據的商為小數 瀏覽:863
怎樣下東西不要密碼 瀏覽:320
小米手機拍照後文件名要怎麼設置 瀏覽:429
每年程序員就業形勢 瀏覽:425
安卓手機如何卸載程序 瀏覽:955
相機能用qq不能用 瀏覽:319
win10如何設置成xp配置文件 瀏覽:748
蘋果隔空傳遞以後文件在哪裡 瀏覽:927
打開ps顯示文件名無效 瀏覽:379
做推廣哪個網站靠譜 瀏覽:588
qq飛車如何綁定好友 瀏覽:873
php編程語言在哪裡 瀏覽:302
矢量文件有哪些格式 瀏覽:790

友情鏈接