❶ java 訪問控制修飾符
幫你找了一篇博客,寫的很好:http://xuyan6688.blog.163.com/blog/static/2920588920115178519198/
public :能被所有的類(介面、成員)訪問。
protected:只能被本類、同一個包中的類訪問;如果在其他包中被訪問,則必須是該成員所屬類的子類。
private:成員變數和方法都只能在定義它的類中被訪問,其他類都訪問不到。對成員變數的進行獲取和更改,一般用get(),set() ,public 方法。實現了Java面向對象的封裝思想。
friendly(預設):訪問許可權與protected相似,但修飾類成員時不同包中的子類不能訪問。
static:修飾變數,稱為類變數或靜態變數。靜態變數是和類存在一起的,每個實例共享這個靜態變數,在類載入時初始化。
final:被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取不能更改。修飾類是不能派生出子類,修飾方法時,不能被當前子類的方法覆蓋。
abstract:不能創建abstract 類的實例。一般被繼承,實現抽象方法。類只要有一個abstract方法,類就必須定義為abstract,但abstract類不一定非要保護abstract方法不可。
如果對你有幫助請採納,謝謝!
❷ 請問:java類成員訪問修飾符的限制范圍
public
訪問范圍最大,也就是任何其他類都可以調用這個類的方法或屬性。
private
訪問范圍最小,也就是只能在這個類的內部使用,外部調用不了
protected
訪問范圍算是中間,只有本類和子類才能訪問。
❸ java 中的修飾符有那幾個,它們的訪問許可權的范圍是多少
java中的修飾符分為類修飾符,欄位修飾符,方法修飾符。根據功能的不同,主要分為以下幾種。
1、許可權訪問修飾符
public,protected,default,private,這四種級別的修飾符都可以用來修飾類、方法和欄位。
包外 子類 包內 類內
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes
2、final修飾符
final的意思是不可變,他可以修飾類、欄位、方法。修飾類後類不能被擴展(extends),也就是不能被繼承。修飾欄位後欄位的值不能被改變,因此如果有final修飾欄位,應該對欄位進行手動初始化。修飾方法後該方法不能被改變,也就是重寫。
3、abstract修飾符
abstract是抽象的意思,用來修飾類和方法,修飾類後,該類為抽象類,不能被實例化,必需進行擴展。修飾方法後,該方法為抽象方法必須被子類重寫(override)。
4、static修飾符
static用來修飾內部類,方法,欄位。修飾內部類說明該內部類屬於外部類而不屬於外部類的某個實例。修飾欄位說明該欄位屬於類而不屬於類實例。修飾方法說明該方法屬於類而不屬於類實例。
❹ 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 (精確浮點)。(可修飾類、介面、方法)
(4)java訪問限定修飾符擴展閱讀:
java中的類修飾符、成員變數修飾符、方法修飾符。
類修飾符:
public(訪問控制符),將一個類聲明為公共類,他可以被任何對象訪問,一個程序的主類必須是公共類。
abstract,將一個類聲明為抽象類,沒有實現的方法,需要子類提供方法實現。
final,將一個類生命為最終(即非繼承類),表示他不能被其他類繼承。
friendly,默認的修飾符,只有在相同包中的對象才能使用這樣的類。
成員變數修飾符:
public(公共訪問控制符),指定該變數為公共的,他可以被任何對象的方法訪問。
private(私有訪問控制符)指定該變數只允許自己的類的方法訪問,其他任何類(包括子類)中的方法均不能訪問。
protected(保護訪問控制符)指定該變數可以別被自己的類和子類訪問。在子類中可以覆蓋此變數。
friendly ,在同一個包中的類可以訪問,其他包中的類不能訪問。
final,最終修飾符,指定此變數的值不能變。
static(靜態修飾符)指定變數被所有對象共享,即所有實例都可以使用該變數。變數屬於這個類。
transient(過度修飾符)指定該變數是系統保留,暫無特別作用的臨時性變數。
volatile(易失修飾符)指定該變數可以同時被幾個線程式控制制和修改。
方法修飾符:
public(公共控制符)
private(私有控制符)指定此方法只能有自己類等方法訪問,其他的類不能訪問(包括子類)
protected(保護訪問控制符)指定該方法可以被它的類和子類進行訪問。
final,指定該方法不能被重載。
static,指定不需要實例化就可以激活的一個方法。
synchronize,同步修飾符,在多個線程中,該修飾符用於在運行前,對他所屬的方法加鎖,以防止其他線程的訪問,運行結束後解鎖。
native,本地修飾符。指定此方法的方法體是用其他語言在程序外部編寫的。
❺ java中四種訪問許可權修飾符的各種情況介紹(最好是個人心得!!)、簡明易懂些的
訪問修飾符有四種public protected 默認的不寫的 private
要區分的重點 在同包中的類和不同包中類中的訪問 (注意這里是指類和類之間的訪問許可權)
同包的類是指寫在一個文件夾中的類,不同包中的類是指寫在不同文件夾中的類(如不同項目和不同包都是這個范疇)
下面關鍵的許可權問題了
public 訪問許可權最大,同包(同文件夾)裡面的類絕對是可以互相訪問的,不同包中的類只要經過import得到了路徑後也是可以通過類的對象訪問的
protected 和 默認的比public訪問許可權都要小(不能在其他包中被訪問除非繼承這里是指protected)但他們兩之間有細微的區別就是在不同包中的類繼承protected和 默認的時候 ,繼承的類能夠訪問用protected修飾的成員而不能訪問默認即不寫修飾符的成員
private 范圍最小 只能在類內部的成員之間進行訪問,外部的類是絕對沒有辦法通過對象訪問到私有成員的,繼承的類也不會繼承private的成員(完全手打)
❻ java四種許可權修飾符
java有四種訪問許可權修飾符,分別是:public、protected、private和包訪問(即默認,什麼都不加)。
private,只有本類可以訪問。
protected,本類、相同包、其它包中的子類可以訪問。
public本類、相同包、其它包都能訪問。
包訪問(默認),相同包可以訪問。
❼ 關於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,protcet,private,沒有修飾符是默認訪問許可權
pravite 只能在同一個類中訪問protected,可以在同一個類、同一個包、不同包中的子類訪問默認:在同一個類、同一個包中訪問public 同一個類,同一個包、不同包中的子類、不同包中的非子類
❾ 請問:java類成員訪問修飾符的限制范圍
public:Java語言中訪問限制最寬的修飾符,一般稱之為「公共的」。被其修飾的類、屬性以版及方法不僅可以跨類權訪問,而且允許跨包(package)訪問。
private:Java語言中對訪問許可權限制的最窄的修飾符,一般稱之為「私有的」。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。
protect:介於public和private之間的一種訪問修飾符,一般稱之為「保護形」。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。
default:即不加任何訪問修飾符,通常稱為「默認訪問模式「。該模式下,只允許在同一個包中進行訪問。
❿ 描述JAVA中的四個訪問修飾符,並描述他們運行訪問的許可權
你說的是四個許可權修飾符吧
public修飾的類可以在其他任意包訪問
protect修飾的類可以在同包內訪問
default修飾的類可以在本類和同包中訪問
private是私有的意思只能在本類中訪問
四個修飾符體現了面向對象的封裝性 適用他們盡可能把許可權降到最低 從而提高安全性
不要圖方便濫用public而失去封裝的意義