溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何分析modifier修飾符

發(fā)布時間:2021-11-26 09:54:18 來源:億速云 閱讀:136 作者:柒染 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)如何分析modifier修飾符,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

修飾符總結(jié) Modifiers
        函數(shù)修飾符始終在返回值類型之前!!!
        變量修飾符始終在變量類型之前!!!
--------------------------------------------------------------------------------
ClassModifier: one of
Annotation public protected private
abstract static final strictfp
        外部類: 不可被 protected, private, static 和 final 修飾
        成員內(nèi)部類: 都可以
        非成員內(nèi)部類: 都不可以

FieldModifier: one of
Annotation public protected private
static final transient volatile

MethodModifier: one of
Annotation public protected private
abstract static final synchronized native strictfp

ConstructorModifier: one of
Annotation public protected private

InterfaceModifier: one of
Annotation public protected private
abstract static strictfp

VariableModifier: one of
Annotation final
--------------------------------------------------------------------------------
                                                        class        field        method        constructor        interface        variable
Annotation                                        √                √                √                √                        √                        √

public/protected/private        √                √                √                √                        √                        ×

abstract/strictfp                        √                ×                √                ×                        √                        ×

static                                                √                √                √                ×                        √                        ×

final                                                √                √                √                ×                        ×                        √

transient/volatile                        ×                √                ×                ×                        ×                        ×

synchronized/native                        ×                ×                √                ×                        ×                        ×
--------------------------------------------------------------------------------
Annotation
        以上都可以
public/protected/private
        權(quán)限修飾符, 除了 variable 都可以 ->???br/>abstract/strictfp
        class/interface/method
static
        除了 constructor 和 variable 都可以 -> 常考
final
        除了 constructor 和 interface 都可以
transient/volatile
        只能修飾 field
synchronized/native
        只能修飾 method
--------------------------------------------------------------------------------
final 與 abstract 是沖突的.

--------------------------------------------------------------------------------
/*
包與包之間成員和構(gòu)造器的訪問權(quán)限總結(jié):
                                public                protected        無修飾符        private
同一個類中                ok                        ok                        ok                        ok
同一個包中                ok                        ok                        ok
不同包*子類                ok                        ok
不同包中                ok

不同包成員訪問的前提: 被訪問的類必須是 public, 且被訪問的成員也必須是 public 的
不同包中的子類還可以直接訪問父類中 protected 的成員和構(gòu)造器

不同包訪問, 有2層權(quán)限限制: 
        第1層是類的權(quán)限限制, 類的權(quán)限可以是 public/無權(quán)限修飾符2種
        第2層是成員的權(quán)限限制, 成員的權(quán)限可以是 public/protected/無權(quán)限修飾符/private 等4種
        必須類的權(quán)限允許訪問, 才考慮成員的權(quán)限是否允許訪問!!!

實(shí)際編程中, 訪問的類一般都是不同包的:
        類是 public 的, 構(gòu)造器是 public 的, 
                允許被不同包的類創(chuàng)建對象; 否則禁止被不同包的類創(chuàng)建對象
        類是 public 的, 構(gòu)造器是 protected 的
                只允許被不同包的類繼承(就是設(shè)計(jì)來被繼承的, 此時不允許被不同包的類創(chuàng)建對象)
        類是 public 的, 構(gòu)造器是 private 的(一般也是 final 的)
                不允許被創(chuàng)建對象(包括本包的類都不行), 此時一般提供 public 方法獲取類的對象

不同包中, protected 的作用就是限制成員和構(gòu)造器只能被子類訪問;
同一包中, protected 修飾成員變量和構(gòu)造函數(shù)時沒任何作用, 修飾成員函數(shù)時僅僅限于覆蓋.
*/

關(guān)于如何分析modifier修飾符就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI