摘要:具有最大的訪(fǎng)問(wèn)權(quán)限,可以訪(fǎng)問(wèn)任何一個(gè)在下的類(lèi)接口異常等。它往往用于對(duì)外的情況,也就是對(duì)象或類(lèi)對(duì)外的一種接口的形式。主要的作用就是用來(lái)保護(hù)子類(lèi)的。其實(shí),通過(guò)反射的手段,是可以訪(fǎng)問(wèn)任何包下任何類(lèi)中的成員,例如,訪(fǎng)問(wèn)類(lèi)的私有成員也是可能的。
public:
具有最大的訪(fǎng)問(wèn)權(quán)限,可以訪(fǎng)問(wèn)任何一個(gè)在classpath下的類(lèi)、接口、異常等。它往往用于對(duì)外的情況,也就是對(duì)象或類(lèi)對(duì)外的一種接口的形式。
protected:主要的作用就是用來(lái)保護(hù)子類(lèi)的。它的含義在于子類(lèi)可以用它修飾的成員,其他的不可以,它相當(dāng)于傳遞給子類(lèi)的一種繼承的東西
default:有時(shí)候也稱(chēng)為friendly,它是針對(duì)本包訪(fǎng)問(wèn)而設(shè)計(jì)的,任何處于本包下的類(lèi)、接口、異常等,都可以相互訪(fǎng)問(wèn),即使是父類(lèi)沒(méi)有用protected修飾的成員也可以。
private:訪(fǎng)問(wèn)權(quán)限僅限于類(lèi)的內(nèi)部,是一種封裝的體現(xiàn),例如,大多數(shù)成員變量都是修飾符為private的,它們不希望被其他任何外部的類(lèi)訪(fǎng)問(wèn)。
下表為Java訪(fǎng)問(wèn)控制符的含義和使用情況本類(lèi) | 同一個(gè)包下(子類(lèi)和無(wú)關(guān)類(lèi)) | 不同包下(子類(lèi)) | 不同包下(無(wú)關(guān)類(lèi)) | |
---|---|---|---|---|
private | Y | |||
默認(rèn) | Y | Y | ||
protected | Y | Y | Y | |
public | Y | Y | Y | Y |
java的訪(fǎng)問(wèn)控制是停留在編譯層的,也就是它不會(huì)在.class文件中留下任何的痕跡,只在編譯的時(shí)候進(jìn)行訪(fǎng)問(wèn)控制的檢查。其實(shí),通過(guò)反射的手段,是可以訪(fǎng)問(wèn)任何包下任何類(lèi)中的成員,例如,訪(fǎng)問(wèn)類(lèi)的私有成員也是可能的。
區(qū)別:public:可以被所有其他類(lèi)所訪(fǎng)問(wèn)
private:只能被自己訪(fǎng)問(wèn)和修改
protected:自身、子類(lèi)及同一個(gè)包中類(lèi)可以訪(fǎng)問(wèn)
default:同一包中的類(lèi)可以訪(fǎng)問(wèn),聲明時(shí)沒(méi)有加修飾符,認(rèn)為是friendly。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/76957.html
摘要:抽象方法沒(méi)有方法體抽象方法權(quán)限修飾符不能為抽象方法的目的就是為了讓子類(lèi)繼承重寫(xiě)的,所以抽象方法不能私有,不能修飾。另外,添加默認(rèn)方法不會(huì)影響函數(shù)式接口的使用。 原文:抽象類(lèi)和接口的區(qū)別已經(jīng)變了 隨著JDK的不斷迭代,抽象類(lèi)和接口的區(qū)別已經(jīng)有了些許改變,你是否還停留在JDK 7 的答案呢? 定義 抽象類(lèi)定義通過(guò) abstract class public abstract class A...
摘要:應(yīng)用在修飾類(lèi)名,類(lèi)成員,方法,參數(shù),構(gòu)造器中。接口修飾符構(gòu)造器修飾符方法修飾符字段修飾符參數(shù)修飾符最基本的修飾符作用在類(lèi)上當(dāng)此修飾符修飾類(lèi)。作用在構(gòu)造器上在構(gòu)造器上,只允許使用三種修飾符,。當(dāng)此修飾符修飾構(gòu)造器。 1、什么是修飾符? 指的是一種標(biāo)識(shí)類(lèi)型以及類(lèi)型成員的訪(fǎng)問(wèn)范圍的聲明。 應(yīng)用在修飾類(lèi)名,類(lèi)成員,方法,參數(shù),構(gòu)造器中。 2、修飾符的有幾種? ...
摘要:不可用于類(lèi)級(jí)別。是否使用父類(lèi)的和方法,注意父類(lèi)為時(shí)無(wú)法設(shè)置為。注解源代碼,另外兩個(gè)注解的源碼和這個(gè)很類(lèi)似,就不貼出來(lái)了。過(guò)時(shí)的生成包含必須處理的字段的構(gòu)造器,如修飾必須初始化注解修飾的。 相識(shí) lombok想必已經(jīng)有很多人已經(jīng)使用了很長(zhǎng)時(shí)間了,而我卻是第一次接觸到,有點(diǎn)呆。lombok主要是用于減少重復(fù)代碼,通過(guò)一組簡(jiǎn)單的注釋取代一些重復(fù)的Java代碼。對(duì)于lombok的評(píng)價(jià)褒貶不一,...
摘要:在抽象類(lèi)中,聲明的是,可是。抽象類(lèi)只能作為子類(lèi)的超類(lèi),子類(lèi)繼承抽象類(lèi)時(shí)必須被實(shí)現(xiàn)。它根本不存在方法的實(shí)現(xiàn)實(shí)現(xiàn)子類(lèi)使用關(guān)鍵字來(lái)繼承抽象類(lèi)。添加新方法如果你往抽象類(lèi)中添加新的方法,你可以給它提供默認(rèn)的實(shí)現(xiàn)。轉(zhuǎn)自,抽象類(lèi)與接口的區(qū)別 抽象類(lèi)與接口 抽象類(lèi)與接口一樣,都不能被實(shí)例化,可以有具體實(shí)現(xiàn)的方法,也可以有抽象的方法。在抽象類(lèi)中,聲明的field是static、final,method可...
摘要:本文將分兩個(gè)部分介紹的訪(fǎng)問(wèn)控制,一個(gè)是類(lèi)中成員的訪(fǎng)問(wèn)控制,另一個(gè)是類(lèi)本身的訪(fǎng)問(wèn)控制。成員訪(fǎng)問(wèn)控制中共有個(gè)訪(fǎng)問(wèn)控制符有四種訪(fǎng)問(wèn)權(quán)限默認(rèn)。繼承訪(fǎng)問(wèn)權(quán)限,使用關(guān)鍵字進(jìn)行權(quán)限控制。 本文將分兩個(gè)部分介紹Java的訪(fǎng)問(wèn)控制,一個(gè)是類(lèi)中成員的訪(fǎng)問(wèn)控制,另一個(gè)是類(lèi)本身的訪(fǎng)問(wèn)控制。 成員訪(fǎng)問(wèn)控制 Java中共有3個(gè)訪(fǎng)問(wèn)控制符:private,protected,public, 有四種訪(fǎng)問(wèn)權(quán)限priva...
閱讀 3503·2021-11-19 09:40
閱讀 1444·2021-10-11 11:07
閱讀 4959·2021-09-22 15:07
閱讀 2965·2021-09-02 15:15
閱讀 2017·2019-08-30 15:55
閱讀 589·2019-08-30 15:43
閱讀 935·2019-08-30 11:13
閱讀 1538·2019-08-29 15:36