2012-05-14 78 views
1

可能重複:
package visibility
Java - The difference between class 「ClassName」 and public class 「ClassName」「公共」類和未修改的類之間的區別?

基本上是有在類這兩個修飾符有什麼區別?沒有公共修飾符有沒有區別?

public class MyClass {} 

class MyClass {} 
+1

@pst:好吧,那些這些:http://stackoverflow.com/questions/8191022/what-are-variables-without-public-private-or-protected-declared-as,http:// stackoverflow .com/questions/215497/in-java-what-the-difference-between-public-default-protected-and-private,http://stackoverflow.com/questions/6996739/non-public-top-level-class在Java等,他們都充分對待這個問題。我相信我能找到更多。我們可以在meta上討論這個問題,重複應該是多麼的「確切」, –

+0

@LukasEder不,這是關於成員,而不是類。 – 2012-05-14 14:17:27

回答

1

public類是通過任何其他類可見的,而一class(無改性劑)將具有包可見。

0

Java-Specification

如果一個類或接口類型聲明公開的,那麼它可以由任何代碼訪問的,條件是編譯單元(第7.3節)在其中宣佈它是可觀察的。

如果頂級類或接口類型沒有聲明爲public,那麼它只能從聲明它的包中訪問。

0

1.公共類可從以外訪問,而類不是。
2. 源文件只能有一個公共類,源文件的名稱必須相同。

相關問題