2010-03-25 110 views
0

java中的類可以有任何其他訪問說明符比公共嗎? 我們可以使用那個指定符不是public的類名來保存我們的文件嗎?Java - 訪問說明符

+0

相關:http://stackoverflow.com/search?q=can+a+java+class+be+protected – Pops 2010-03-25 15:02:00

回答

3

java中的訪問修飾符 - 解釋。

I)類級別訪問修飾符(Java類只)

只有兩個訪問修飾符是允許的,public並沒有修改

如果一個類是 'public',那麼就可以從任何地方訪問。

如果一個類有'沒有修飾符',那麼它只能從'相同的包'訪問。

II)會員級別訪問修飾符(Java變量和Java方法)

所有四個publicprivateprotected並沒有修改是允許的。

public並且沒有修飾符 - 與在課程級別中使用的方法相同 。

private - 會員只能訪問。

protected - 可以從 '同一包'和一個存在 的任何包中的子類訪問。

來源:http://javapapers.com/core-java/access-modifiers-in-java-explain

2

是的,它們可以是封裝私有的。這被定義爲:

class foo { 
    int data; 
} 

在Java中的非嵌套類,但是,可以不privateprotected

最後一類可以abstractfinalstrictfp

Java Pocket Guide驗證了這一點(這是我的辦公桌上。)

0

當然,沒有理由不來。

1

頂層類可以有publicdefault(「包私人」)可見性。

內部類也可以是privateprotected(以及以上):

public class OuterClass 
{ 
    private class InnerClass 
    { 
     // .... 
    } 
     // .... 
} 
1

頂級類只能public或包專用(沒有訪問修飾符)。

嵌套類也可以是privateprotected

-1

在Java中沒有訪問說明符。在Java sun中,Microsoft給出了Modifiers。

據Sun微軟有很多改進劑是有

  • private
  • protected
  • public
  • static
  • final
  • abstract
  • ​​
  • transient
  • volatile
  • strictfp

有些人認爲privatepublicprotected是訪問說明。但據Sun稱,微軟稱之爲Modifiers。

+2

static,final,abstract,synchronized,transient,volatile和strictfp與這個問題無關。 Sun微軟是什麼? – 2011-05-18 16:05:00

1

的Java有四個級別的可見性:公有,保護(默認),私人

  1. 可見的包。默認。不需要修飾符。

  2. 僅對班級(私人)可見。

  3. 可見世界(公衆)。

  4. 可見包和所有子類(受保護)。

看到圖像瞭解使用訪問說明的

enter image description here

0

訪問說明被用來限制程序訪問的細節。 這些說明符決定一個類中的字段或方法是否可以被另一個類方法或子類方法使用或調用。

有四種訪問說明

1)公共 2)私人 3)受保護的 4)默認

這些都是按照我們的規範,在編程某些級別的訪問權限使用。

1)公共 類,方法和字段被聲明爲公共的可從在Java程序中的任何其他類訪問,無論它們是在相同的封裝或另一個包。

2)私人
字段和其聲明爲私有可以在相同的類中,以它們belong.Using私人說明符,我們也可以實現封裝其用於隱藏數據

訪問方法3)保護 聲明爲受保護的字段和方法只能由另一個包中的子類或受保護成員類包中的任何類訪問。 請記住,受保護的說明符不適用於類和接口。

4)默認 ,如果你不聲明任何說明符,它會按照默認的可訪問性level.where,有沒有默認的關鍵字。類,字段,方法可以是默認的(沒有指定符的聲明)。通過使用默認指定符,我們可以訪問屬於同一個包的類,方法或字段,但不能從這個包的外部訪問。