Java no memo

自分のためのJavaメモ。

Java基礎②

クラス

  • クラスにはフィールドメソッドがある。
  • フィールドとメソッドはクラスのメンバである。
  • クラスはオブジェクト(インスタンス)を作って使う。(new演算子で作る。)
  • クラス型の変数は参照型の変数。
  • クラスファイルは1クラス1つ作られる。

メソッド

  • 呼び出し側が渡す値は実引数(argument)。
  • メソッドに渡される値は仮引数(parameter)。
  • 戻り値のないメソッドはvoidをつける。(voidは型を持たないという意味。)
  • 2つ以上の戻り値はもてない。
  • ローカル変数メソッド内で宣言した変数。(仮引数も)

オーバーロード

コンストラクタ

クラス変数とクラスメソッド

インスタンス

修飾子

  • privateメンバにはクラスの外から利用できない。(カプセル化に使う)
  • publicメンバはクラスの外から利用できる。
  • 修飾子をつけないと同じパッケージ内なら利用できる。

ラッパークラス

  • 基本型に関するクラスで、クラスメソッドを持っている。
  • 値型と同等の機能を持つ参照型。
  • Integerクラス、Booleanクラス、Mathクラスなど。
Integer a = new Integer(100);
Integer b = new Integer(100);
System.out.println(a == b);      // false ※参照先が同じかチェック
System.out.println(a.equals(b)); // true ※値が同じかチェック

クラス型の変数

  • クラス型の変数に同じクラス型の変数を代入できる。
  • 代入すると同じオブジェクトをさすようになる。
  • nullを代入するとオブジェクトをさし示さなくなる。(ガベージコレクション
  • 2つの変数が同じオブジェクトをさしていたとき、一方にnullを入れてももう一方のオブジェクトはそのまま。

ガベージコレクション

  • オブジェクト変数にnullを代入するとオブジェクトをさし示さなくなる。
  • オブジェクトが破棄される際、finalize()が呼ばれる。
  • ガベージコレクションが行われるタイミングはJavaに任されている。

値渡しと参照渡し

  • オブジェクトは参照渡し、呼び出し元と呼び出し先で同じものをさす。
  • 基本型は値渡し、呼び出し元と呼び出し先で違うもの。コピー。

オブジェクトを配列で扱う

Man[] men;           // 配列変数を準備
men = new Man[2];
men[0] = new Man();
men[1] = new Man();
men[2] = new Man();

コレクション