JPIN#4.5
はじめに
今回はJPINの5回目に向けた予習をまとめていく
内容は以下である
- オブジェクト型配列
- コンストラクタ
- メソッドのオーバーロード
- static
基本的にはググった内容を自分なりに解釈してまとめているので正しいかどうかはわかりません
オブジェクト型配列
前々回の講義でオブジェクトは戻り値を設定することで型として扱えることがわかった
今回はそれを配列として扱うにはどうすればいいかをまとめていく
まずこれまで通りに宣言するところから始まる
クラス名[] 配列変数名;
配列変数名=newクラス名[要素数];
または
クラス名[] 配列変数名=new クラス名[要素数];
配列を宣言したときはまだ中身がnullになっていることには注意しよう
これを使うことでクラス名にある様々な型を一つの型として取り扱えるので
クラス名にある複数の型が関連していることに時に使用すると便利である
コンストラクタ
クラスをヒープ領域にコピーして他のクラスで使用する時に
クラス名 変数 = new クラス名();
として作っていた
この時にヒープ領域にクラスのコピーが作られるが同時にコンストラクタというものを実行する
対象のクラスにクラス名と同じ名前のコンストラクタを書くことでクラス内の変数の初期化を行い、オブジェクト化して使われる際に機能するようにする
コンストラクタをしないで実行してしまうと値がnullのままになってしまうケースがあるのでその時にはコンストラクタを使おう
メソッドのオーバーロード
オーバーロードとは引数の数とか型が違う、同じ名前の関数を複数個、用意することである
これを使いたい場面は引数を変えて同じ処理を行いたい時に使用する
static
staticには以下の2種類がある
・staticメソッド
・static変数
staticメソッド
これはメソッド名にstaticがついているものである
staticメソッドはインスタンスを生成しなくても呼び出せる
つまり newを使わないのである
ただこれはコピーしないからそのままクラスを出力するのではないのだろうか
その場合、変数を取り扱うことは危険だろう
static変数
static変数とはインスタンスを生成せずに使える変数である
上記と同じでメソッドの変数バージョンであるので
こちらもコピーせずにそのまま使うというニュアンスだろうか