自己啓発マン  2021/01/05更新

JPIN#4.5


はじめに

今回はJPINの5回目に向けた予習をまとめていく

内容は以下である

  1. オブジェクト型配列
  2. コンストラクタ
  3. メソッドのオーバーロード
  4. static

基本的にはググった内容を自分なりに解釈してまとめているので正しいかどうかはわかりません


オブジェクト型配列

前々回の講義でオブジェクトは戻り値を設定することで型として扱えることがわかった

今回はそれを配列として扱うにはどうすればいいかをまとめていく

まずこれまで通りに宣言するところから始まる


クラス名[] 配列変数名;

配列変数名=newクラス名[要素数];

または

クラス名[] 配列変数名=new クラス名[要素数];

配列を宣言したときはまだ中身がnullになっていることには注意しよう


これを使うことでクラス名にある様々な型を一つの型として取り扱えるので

クラス名にある複数の型が関連していることに時に使用すると便利である



コンストラクタ

クラスをヒープ領域にコピーして他のクラスで使用する時に

クラス名 変数 = new クラス名();

として作っていた

この時にヒープ領域にクラスのコピーが作られるが同時にコンストラクタというものを実行する

対象のクラスにクラス名と同じ名前のコンストラクタを書くことでクラス内の変数の初期化を行い、オブジェクト化して使われる際に機能するようにする


コンストラクタをしないで実行してしまうと値がnullのままになってしまうケースがあるのでその時にはコンストラクタを使おう


メソッドのオーバーロード

オーバーロードとは引数の数とか型が違う、同じ名前の関数を複数個、用意することである


これを使いたい場面は引数を変えて同じ処理を行いたい時に使用する


static

staticには以下の2種類がある

・staticメソッド

・static変数


staticメソッド

これはメソッド名にstaticがついているものである

staticメソッドはインスタンスを生成しなくても呼び出せる

つまり newを使わないのである

ただこれはコピーしないからそのままクラスを出力するのではないのだろうか

その場合、変数を取り扱うことは危険だろう


static変数

static変数とはインスタンスを生成せずに使える変数である

上記と同じでメソッドの変数バージョンであるので

こちらもコピーせずにそのまま使うというニュアンスだろうか






タイトルとURLをコピーしました