ファイル名はクラス名?

なんとなく Java ってものは「1ファイルに1クラスしか書けない」と思っていたんだけど、Abc.java

class A {
}
class B {
}

なんて書いても問題無いんですな。
class に public を付ける場合、そのクラスはファイル名と一致している必要があるみたい。


public をつけなくても同じパッケージからはアクセスできる。アプリ固有のデータなんてどうせ再利用とかできないし問題ないよなぁ...たぶん。

class MyItem {
}
class MyItems extends ArrayList<MyItem> {
}