一個.java文件中可以有幾個同級類


看到學弟發的一個動態,仔細了解了一下

一個.java文件中可以有幾個同級類?

  1. 在一個.java文件中可以有多個同級類(和public一樣的位置,注意不是內部類).其修飾符只可以public/abstract/final/和無修飾符,不能是其他的protected/private等修飾符。所以protected類雖然可以在包內訪問,但是也必須定義在另外類里面,protected主要是保護子類訪問,因此個人覺得其他類就盡量不要使用,便於規范;
    不使用任何修飾符聲明的屬性和方法,對同一個包內的類是可見的。
    接口里的變量都隱式聲明為public static final,而接口里的方法默認情況下訪問權限為public。
    public:跨包可訪問
    無修飾符:包內可訪問

  2. public修飾的只能有一個,且必須要與文件名相同;若沒有public的則可與文件名不同。注意不是內部類

  3. 該文件同級的類之間可以互相調用,但是除了public的類,其他不能夠在其他文件調用。

  4. 在一個.java文件中由類/Enum/接口/Anontation其中至少一個類型組成。單獨一個方法/變量不能獨自存在與文件中,所以公用方法的封裝也是做成類方法。原因是java是類加載機制,需要編譯一個java文件成多個class文件,當類來使用。java文件的命名也是按照類名命名。也說明java面向對象的思想體現非常充分,不像C/C++可以單獨一個方法一個文件。詳細見:http://www.weixueyuan.net/view/6311.html

  5. 編譯一個java文件會生成多個class文件


假設Test.java文件中:
public class Test{}
class Test2{}
abstract class Test3{}
final class Test6{}

編譯后:Test.class Test2.class Test3.class Test6.class

參考:http://www.cnblogs.com/muffe/p/3539551.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM