包的訪問控制許可權

2022-01-14 18:20:30 字數 1823 閱讀 9369

private:可以定義方法,屬性,定義的方法和屬性不能被類的外部所看到。

default:可以在本包的任意地方訪問。

public:都可以訪問,不受任何限制。

protected:保護,不同包的非子類不可以訪問。

protected許可權,在不同包的它的子類能夠被訪問:

package

org.lxh.demo08.g ;

public

class

hellodemo;

在其他包的子類訪問這個屬性。

package

org.lxh.demo08.h ;

import

org.lxh.demo08.g.hellodemo ;

classsubhellodemo

extendshellodemo

};public

class

protecteddemo01

};

執行結果:

訪問受保護屬性:lxh
如果現在沒有使用子類,而是直接在不同類中訪問,則會出現無法訪問的錯誤。

package

org.lxh.demo08.h ;

import

org.lxh.demo08.g.hellodemo ;

public

class

protecteddemo02

};

當產生乙個類之後,為了保證類中的內容不被外部直接看到,則使用private關鍵字。但是,如果兩個有關係的類要進行屬性相互訪問的話就比較麻煩。

之前只能使用getter(),和setter()方法取得和設定,所以為了減少私有屬性的的訪問的麻煩,使用了內部類,但是內部類會破壞程式的結構。

為了讓乙個類的內容可以方便的使用,使用了繼承的概念,但是在繼承中,private屬性也是無法被子類看到,所以此時,為了方便子類的操作,

可以將屬性使用protected進行封裝,這樣一來,外部也無法看到(不同包)

之後有了繼承之後,既然有了父子的關係,所以可以使用向上或者向下的轉型,以完成多型性,但是,在開發中,類與類直接直接繼承並不多見,而往往

繼承抽象類,或實現介面,當若干個操作間需要解耦合的時候,就可以使用介面完成

既然有內部類了,則如果乙個介面或者抽象類的子類只使用一次,則可以將其定義為匿名內部類

開發中沒有包的類是絕對不存在的。

封裝-》繼承-》多型。

類:所有單詞首字母大寫。

方法:第乙個首字母小寫,之後每個單詞首字母大寫:如:getinfo();

屬性:第乙個首字母小寫,之後每個單詞首字母大寫:如:studentname;

包:所有單詞的字母小寫,如:org.lxh.demo08.h

常量:所有字母大寫,如:flag.

protected訪問許可權;

命名規範。

C 訪問控制許可權

第一 private,public,protected 訪問標號的訪問範圍,在沒有繼承的情況下 private 只能由1.該類中的函式 2.其友元函式訪問。不能被任何其他訪問,該類的物件也不能訪問。protected 可以被1.該類中的函式 2.子類的函式 以及3.其友元函式訪問。但不能被該類的物件...

檔案訪問控制許可權

設定許可權列表 裝置許可權列表載入 facl filesystem access control list 利用檔案擴充套件屬性儲存額外的訪問控制許可權 普通使用者無法修改檔案屬主與屬組 對於檔案的許可權進行附加補充說名的乙個許可權設定方式 有兩個普通使用者tom jerry,當tom由乙個檔案只想...

ACL訪問控制許可權

給指定的使用者分配許可權 setfacl m u gest rw folder m表示設定許可權,x表示刪除許可權 u代表使用者,g也可以指定組設定許可權,後面指定組名即可 gest使用者名稱 rw表示許可權 folder表示目錄 getfacl folder file folder owner t...