1. java中的許可權控制修飾符有幾個,每個許可權修飾符的控制范圍是什麼
Java中所謂的「friendly」和「default」都只是一種說法,並不是說真有那麼一個指定默認訪問許可權版的關鍵字(權default倒的確是個語言關鍵字,但那是用在switch語句中的)。
Java中類的成員許可權修飾符只有三個:public/private/protected。
當一個類的成員前面沒有任何訪問許可權修飾符修飾時,我們就說他是「fiendly許可權」,或者「default許可權」(注意,只是這樣「說」,並不是說你可以那樣寫上去)。
2. java中定義變數不寫作用域修飾符默認是什麼類型的
默認是friendly 就是同一個包內的類可以不用導入直接訪問該成員變數,而且他包的類必須導入後才能訪問。
3. java類中的成員預設(默認的)的修飾符是什麼
java類中成員預設的修飾符是不寫修飾符,理解為friendly(default),擁有的許可權是包許可權。
成員變數或成員方法聲明為默認許可權,則其是包級可見,同一個包內的類可以訪問到這個屬性或方法。若是類聲明為默認許可權,則同一個包下的類都可以訪問到該類,並可以實例化該類(當然如果這個類不具有實例化的能力除外,比如該類沒有提供public的構造函數)
Java許可權有四個,分別為public,protected,默認,private,其開放程度依次降低
public可供所有類訪問
protected繼承可見
private只能類本身內部的方法可以訪問
4. java中默認的修飾符到底是friendly,還是default
其實他們的概念都抄一樣,但襲java中沒有friendly的說法,那是c中的。think in java (java編程思想)中在說四大訪問修飾符時,提到了friendly是默認修飾符(估計就是因為這個很多人搞不清楚friendly和defoult)
5. Java中public,private,protected,和默認的區別
1、private修飾詞,表示成員是私有的,只有自身可以訪問; x0dx0a2、protected,表示受保護許可權,體現在繼承,即子類可以訪問父類受保護成員,同時相同包內的其他類也可以訪問protected成員。 x0dx0a3、無修飾詞(默認),表示包訪問許可權(friendly, java語言中是沒有friendly這個修飾符的,這樣稱呼應該是來源於c++ ),同一個包內可以訪問,訪問許可權是包級訪問許可權; x0dx0a4、public修飾詞,表示成員是公開的,所有其他類都可以訪問;
6. 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方法不可。
如果對你有幫助請採納,謝謝!
7. 關於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)