個人的メモ。防備録…っていうか、覚えるために書く感じだ。
- クラス中にあるmainメソッドから開始される。実行時に渡すのは、mainメソッドがあるクラス名
- クラス名とファイル名は同じ。
- 基本型(primitive type)のラッパークラスが用意されていたりする。IntやDoubleなど。
- 修飾子final:変更不可能であることを示す。
- 「スタティックフィールド」「クラス変数」「クラスフィールド」は全て同じ意味。全インスタンスに共通の情報を保持しておける場所。
- Class名.クラスフィールド でアクセス可能。
- メンバ関数→メソッド
- メンバ変数→フィールド
- スーパークラス(親クラス)は1つしか持てない。多重継承できない。
- コンストラクタは継承しない。でも、コンストラクタ実行時、一番最初に、スーパークラスのコンストラクタ(引数なし)が呼び出される。
- super(hoge, hoge)とかで、明示的にスーパークラスのコンストラクタを実行できる。
- コンストラクタで一番最初にthis()なりsuper()とかなり呼び出さないと、自動的に呼び出す。
- getter/setterのことを、アクセサorアクセスメソッドという。
- マジックナンバーはクラスフィールドに。変数名は全て大文字。
- extends…クラスの拡張。1つまで。
- implements…インタフェースの実装。複数可能。自分で実装。
- インタフェースの配列を作って、その中に色んなクラスのインスタンスを入れておく。配列の各要素がインタフェースにある関数を実行できる。という利点。
- インタフェースには-ableがつくのが多いっぽい。
- インタフェースのフィールドは、public static finalになる。メソッドは、public abstructになる。
- ちゃんと使わないものはVectorとかから削除すること。ガベージコレクションが動かないぞ。
- importとpackage