當前位置:首頁 » 密碼管理 » java類訪問修飾符

java類訪問修飾符

發布時間: 2022-05-27 18:59:29

❶ 關於java中類的訪問修飾符

一:訪問修飾符:
1.省略訪問修飾符
具有默認的訪問特性,即具有包訪問特性,只能被同一個包中的類使用。
2.public訪問修飾符
用於說明類和類的成員的訪問許可權。這種類叫公有類。在一個文件中只能有一個public類型的類。
例如:Rect和UseImport兩個類,分別在兩個不同的包中。順便回顧一下不同類要用import導入。(哎,一直就沒記住)
//Rect.java
pacakage my;
public class Rect
{
private int a,b;
public void init(int len,int width)
{
a=len;
b=width;
}
public int area()
{
return a*b;
}
}
//UseImport.java
import.my.*;//導入my 包的所有類
public class UseImport
{
public static void main(string[] args)
{
Rect x=new Rect();
x.init(2,3);
System.out.println("矩形面積為:"+x.area());
}
}
3.private
用private修飾的類成員成為私有成員,只能在聲明該成員的類中使用,不能在類外使用。一般通過本類中公有方法進行訪問。
4.protected
protected修飾的類成員為保護成員,可以被三種類使用,分別是該類本身,該類的所有子類,該類同包的其他類,該類的子類。
5.private protected
私有保護成員。可被兩種類使用。分別是:該類本身和該類的所有子類。
二:特徵修飾符
1.abstract:抽象
修飾類為抽象類,修飾方法為抽象方法。只要類中有抽象方法,就必須定義為抽象類。抽象方法只能聲明,不能實現。但是可以在其子類中對抽象方法進行實現。抽象類中也可以包含非抽象方法。
2.final:最終
修飾的類為終止類,不能有子類。修飾變數為終止變數,只可賦值一次。修飾方法為終止方法,不能在子類中更改。如Socket、ServerSocket等都是final類,防止黑客派生子類進行破壞。同時,final與abstract是相互矛盾的。
3.static:靜態
靜態成員無需通過對象調用,可以直接通過類名直接調用。
public class RectArea//輸出6 和 12
{
public static void main(String[] args)
{
System.out.println(area(2,3));
System.out.println(area(3,4));
}
static void area(int a,int b)

❷ 請問:java類成員訪問修飾符的限制范圍

public
訪問范圍最大,也就是任何其他類都可以調用這個類的方法或屬性。
private
訪問范圍最小,也就是只能在這個類的內部使用,外部調用不了
protected
訪問范圍算是中間,只有本類和子類才能訪問。

❸ java中類的訪問許可權修飾符有哪兩種求答案

不止兩種,public,protcet,private,沒有修飾符是默認訪問許可權
pravite 只能在同一個類中訪問protected,可以在同一個類、同一個包、不同包中的子類訪問默認:在同一個類、同一個包中訪問public 同一個類,同一個包、不同包中的子類、不同包中的非子類

❹ JAVA 類有哪些訪問修飾符

public 類: 可以被同一個類、同一個包、不同包的子類、不同包的非子類訪問
預設訪問控制符的:可以被同一個類、同一個包訪問
private類:可以被同一個類訪問
private類:可以被同一個類、同一個包、不同包的子類訪問

❺ java默認訪問修飾符

Java中成員屬性默認修飾符為default.
舉個栗子 : 假如有成員變數name,類型為String,則聲明為String name ;
此時該變數的默認許可權修飾符就是default.
下附Java成員許可權修飾符許可權 :
private : 只能在當前類中訪問
default : 只能在當前類以及同一個包下訪問
protected : 除了當前類以及同一個包下訪問外,還為不在同一個包下的子類提供了一種訪問父類成員的方式
public : 同一個工程下,所有包均可訪問.
望採納!如贊同請點贊!您的肯定就是我的動力!

❻ java四種許可權修飾符

java有四種訪問許可權修飾符,分別是:public、protected、private和包訪問(即默認,什麼都不加)。

private,只有本類可以訪問。

protected,本類、相同包、其它包中的子類可以訪問。

public本類、相同包、其它包都能訪問。

包訪問(默認),相同包可以訪問。

❼ java中類修飾符有哪些

java的修飾符有:許可權修飾符:public、protected、default、private

修飾符:abstract、static、final

public 使用對象:最廣,類、介面、變數、方法

protected使用對象:變數、方法 注意:不能修飾類(外部類)

default 使用對象:類、介面、變數、方法。(即預設,什麼也不寫)

private 使用對象:變數、方法 注意:不能修飾類(外部類)

abstract使用對象:類、介面、方法

static 使用對象:類、變數、方法、初始化函數(注意:修飾類時只能修飾 內部類 )

final 使用對象:類、變數、方法

transient:告訴編譯器,在類對象序列化的時候,此變數不需要持久保存

volatile:指出可能有多個線程修改此變數,要求編譯器優化以保證對此變數的修改能夠被正確的處理

native:用該修飾符定義的方法在類中沒有實現,而大多數情況下該方法的實現是用C、C++編寫的。

synchronized:修飾方法,多線程的支持

類分外部類和內部類,他們的訪問控制是相同的嗎

外部類是相對於內部類而言的,內部類是定義在類裡面的類。

外部類的修飾符有:

default(預設,不寫):類定義時前面未加任何修飾符,表示同一個包中可見。

public:修飾類時表示該類能被項目中所有類可見

abstract:表示是抽象類

final:表示類不可以被繼承

scrictpf:(java關鍵字) 當對一個類或介面使用 strictfp 關鍵字時,該類中的所有代碼,包括嵌套類型中的初始設定值和代碼,都將嚴格地進行計算。嚴格約束意味著所有表達式的結果都必須是 IEEE 754 演算法對操作數預期的結果,以單精度和雙精度格式表示

內部類又分:成員內部類、局部內部類、靜態內部類、匿名內部類

成員內部類:作為外部類的一個成員存在,與外部類的屬性、方法並列

局部內部類:定義在外部類的方法體裡面的類

靜態內部類:使用static修飾的內部類

匿名內部類:就是沒有名字的內部類

成員內部類修飾符有:

public:

protected:

private:private不能修飾外部類,

abstract:

final:

static:可以當做普通類使用,而不用先實例化一個外部類。(用他修飾後,就成了靜態內部類了)

strictfp:(java關鍵字) 即 strict float point (精確浮點)。(可修飾類、介面、方法)

(7)java類訪問修飾符擴展閱讀:

java中的類修飾符、成員變數修飾符、方法修飾符。

類修飾符:

public(訪問控制符),將一個類聲明為公共類,他可以被任何對象訪問,一個程序的主類必須是公共類。

abstract,將一個類聲明為抽象類,沒有實現的方法,需要子類提供方法實現。

final,將一個類生命為最終(即非繼承類),表示他不能被其他類繼承。

friendly,默認的修飾符,只有在相同包中的對象才能使用這樣的類。

成員變數修飾符:

public(公共訪問控制符),指定該變數為公共的,他可以被任何對象的方法訪問。

private(私有訪問控制符)指定該變數只允許自己的類的方法訪問,其他任何類(包括子類)中的方法均不能訪問。

protected(保護訪問控制符)指定該變數可以別被自己的類和子類訪問。在子類中可以覆蓋此變數。

friendly ,在同一個包中的類可以訪問,其他包中的類不能訪問。

final,最終修飾符,指定此變數的值不能變。

static(靜態修飾符)指定變數被所有對象共享,即所有實例都可以使用該變數。變數屬於這個類。

transient(過度修飾符)指定該變數是系統保留,暫無特別作用的臨時性變數。

volatile(易失修飾符)指定該變數可以同時被幾個線程式控制制和修改。

方法修飾符:

public(公共控制符)

private(私有控制符)指定此方法只能有自己類等方法訪問,其他的類不能訪問(包括子類)

protected(保護訪問控制符)指定該方法可以被它的類和子類進行訪問。

final,指定該方法不能被重載。

static,指定不需要實例化就可以激活的一個方法。

synchronize,同步修飾符,在多個線程中,該修飾符用於在運行前,對他所屬的方法加鎖,以防止其他線程的訪問,運行結束後解鎖。

native,本地修飾符。指定此方法的方法體是用其他語言在程序外部編寫的。

❽ Java修飾符都有什麼,請詳細解答下

Java語言提供了很多修飾符,主要分為以下兩類:
1、訪問修飾符;
2、非訪問修飾符。
(視頻教程推薦:java視頻教程)
訪問控制修飾符
Java中,可以使用訪問控制符來保護對類、變數、方法和構造方法的訪問。Java 支持 4 種不同的訪問許可權。
default (即默認,什麼也不寫): 在同一包內可見,不使用任何修飾符。使用對象:類、介面、變數、方法。
private : 在同一類內可見。使用對象:變數、方法。 注意:不能修飾類(外部類)
public : 對所有類可見。使用對象:類、介面、變數、方法
protected : 對同一包內的類和所有子類可見。使用對象:變數、方法。 注意:不能修飾類(外部類)。
非訪問修飾符
為了實現一些其他的功能,Java 也提供了許多非訪問修飾符,如下:
static 修飾符,用來修飾類方法和類變數。
final 修飾符,用來修飾類、方法和變數,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變數為常量,是不可修改的。
abstract 修飾符,用來創建抽象類和抽象方法。
synchronized 和 volatile 修飾符,主要用於線程的編程

❾ java 的訪問修飾符是什麼

Java中的訪問修飾符

Java面向對象的基本思想之一是封裝細節並且公開介面。Java語言採用訪問控制修飾符來控制類及類的方法和變數的訪問許可權,從而向使用者暴露介面,但隱藏實現細節。訪問控制分為四種級別:

(1)public: 用public修飾的類、類屬變數及方法,包內及包外的任何類(包括子類和普通類)均可以訪問;

(2)protected: 用protected修飾的類、類屬變數及方法,包內的任何類及包外那些繼承了該類的子類才能訪問(此處稍後解釋),protected重點突出繼承;

(3)default: 如果一個類、類屬變數及方法沒有用任何修飾符(即沒有用public、protected及private中任何一種修飾),則其訪問許可權為default(默認訪問許可權)。默

認訪問許可權的類、類屬變數及方法,包內的任何類(包括繼承了此類的子類)都可以訪問它,而對於包外的任何類都不能訪問它(包括包外繼承了此類的子類)。default重點突出包;

(4)private: 用private修飾的類、類屬變數及方法,只有本類可以訪問,而包內包外的任何類均不能訪問它。

網上一些資料及一些書上用表格對java訪問修飾符做了清楚的總結,如下表所示:

重要總結:通過上面的分析,我們可以看到:

1.public、private和protected對我們來說沒有任何異議。

2. 頂層類只能用public訪問修飾符和default(默認)訪問修飾符修飾,其中用默認修飾符修飾的類(及沒有任何修飾符的類,如class B{})不能被其他包中的類繼承,這也說明了default(默認)訪問修飾符突出的是包許可權

3. protected:本人做了一次實驗,發現在不同包的子類中,new一個父類對象,並用該父類對象去訪問父類中的用protected修飾的類屬變數和方法時不能訪問,而new一個子類對象時,子類對象可以訪問(說明protected修飾的類可以被其他包中的類繼承)。也可以在子類重寫父類的方法中使用super關鍵字調用。這豈不是和上面表格中的總結(紅色對勾)沖突了?本人也是百思不得其解。最後在網上找到了一個相對比較認可的解釋,如下:

protected修飾符的修飾的成員變數和方法也稱為受保護的成員變數和方法, 受保護的成員變數和方法可以在本類或同一個包中的其它類(包括子類)中通過類的實例進行訪問,也可以被同一個包中的類或不同包中的類繼承,但是不能在不同包中的其它類(包括子類)中通過類的實例進行訪問。

4. 如果一個類使用public修飾,那該類的類名必須與他所在的源文件名相同。一個.java源文件中有且只有一個public類,頂層類只能用public和默認修飾符(即無修飾符)修飾;

5.final修飾的類不能被繼承,沒有子類。

6.abstract修飾的類不能被實例化,必須被子類繼承。類只要有一個抽象方法就必定是抽象類,但抽象類不一定要有抽象方法。

最終總結,就一句話:protected修飾符所修飾的類(這句話中指父類)屬成員變數和方法,只可以被子類訪問,而不管子類是不是和父類位於同一個包中。default修飾符所修飾的類屬成員變數和方法,只可被同一個包中的其他類訪問,而不管其他類是不是該類的子類。protected屬於子類限制修飾符,而default屬於包限制修飾符。

❿ java中各種訪問修飾符都有什麼區別 public什麼的

修飾符 當前類 同 包 子 類 其他包
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
類的成員不寫訪問修飾時默認為default。默認對於同一個包中的其他類相當於公開(public),對於不是同一個包中的其他類相當於私有(private)。受保護(protected)對子類相當於公開,對不是同一包中的沒有父子關系的類相當於私有。Java中,外部類的修飾符只能是public或默認,類的成員(包括內部類)的修飾符可以是以上四種。

熱點內容
解壓神器中的詭異事件 發布:2024-05-20 21:17:59 瀏覽:6
星火草原系統源碼 發布:2024-05-20 21:12:44 瀏覽:766
c編譯器手機版中文版下載 發布:2024-05-20 21:11:56 瀏覽:776
存儲超融合 發布:2024-05-20 21:07:24 瀏覽:454
孩子培訓編程 發布:2024-05-20 21:05:57 瀏覽:454
linux伺服器源碼 發布:2024-05-20 21:05:00 瀏覽:399
javaread 發布:2024-05-20 20:51:52 瀏覽:788
java的歸並排序 發布:2024-05-20 20:46:37 瀏覽:743
mac怎麼看存儲空間 發布:2024-05-20 20:06:37 瀏覽:231
編程類股票 發布:2024-05-20 19:54:34 瀏覽:921