可以在一個.java文件中放置多個類。不過,這是一個壞主意。這裏的原因:
package foo.bar;
public class Foo { }
public class Bar { }
包含上面的代碼的源文件,是不會編譯,因爲每個java文件只能包含一個公共class
/interface
/enum
(順便說一句,這些被稱爲「類型「S)。因此,你必須這樣做,讓他們在同一個文件:
package foo.bar;
public class Foo { }
class Bar { } // Not public
或者這樣:
package foo.bar;
class Foo { } // Not public
public class Bar { }
現在,這裏是缺點:如果本次非公開類型包含一切有用的東西(如在一個正常的分佈產生隨機數的方法),也不會是什麼,是不是在叫foo.bar
包訪問!
此外,它更易於管理的小源文件。
此外,有沒有什麼地方的文件都應當存儲-e.g區別。在同一目錄
是 - 這取決於封裝名稱。例如,包foo.bar
,foo.baz
,foo.qux
,bar.foo
,bar.baz
和bar.qux
看起來像一個普通的源文件夾,這些子文件夾(我們稱之爲src
):
./src/
L___ ./src/foo/
| L__ ./src/foo/bar/
| L__ ./src/foo/baz/
| L__ ./src/foo/qux/
L___ ./src/bar/
| L__ ./src/bar/foo/
| L__ ./src/bar/baz/
| L__ ./src/bar/qux/
當應用了此邏輯java.lang.Object
(假設源文件夾中仍稱src
),你會得到這樣的:
./src/
L___ ./src/java/
| L___ ./src/java/lang/
| | L___ ./src/java/lang/Object.java
公共課需要在不同的文件中 – Li357
相關的http://計算器。com/questions/2336692/java-multiple-class-declarations-in-one-file – Tunaki
@DVers,請解釋一下,如果我可以編輯這個問題以使它更適合網站。我無法通過搜索互聯網和計算器找到答案。 – Szmagpie