教育・子育て

chapter14 クラスの基本形 まとめ 前編

マんタ's icon'
  • マんタ
  • 2021/04/22 00:57

コンニチハ。ちょっと長くなりますが・・・・

chapter14 クラスの基本形 まとめ 前編

 

オブジェクトの設計図がクラスでした。

しかし、フィールド変数とメソッド書けばいいなんてことではありません。

で、まずはコンストラクタについて

 

1.コンストラクタ

オブジェクトを作成した直後は数値フィールドの値は0になっています。

String型ではnullで、(オブジェクト初期化の既定値)。

で、今回出てくる 

コンストラクタ 

オブジェクトを作成するときに同時に初期値も指定しなくてはならない仕組み

です。

①簡単なコンストラクタ

前の章で

Dice dice= new Dice();
dice.val=6;

がありました。

この中の Dice()の部分をコンストラクタといい、Javaコンパイラが自動生成するコンストラクタで、何もしないコンストラクタです。

もちろんなにもしてくれないので二行目のようにdice.val=6とプログラムで設定しなければいけません。

このコンストラクタは自動的に作られるので デフォルトコンストラクタ といいます。

大事なことはこのように初期値を設定しないとコンパイルエラーとなります。

 

コンストラクターの説明と使い方をやっていこうと思います。

青枠の部分がコンストラクタですが、コンストラクタはクラスの中に書きます。

引数numが初期値としてセットしたい値です。処理内容は単純です。

numをフィールド変数valに代入するだけです。

では、実際にコンストラクタを起動できるプログラムを作っていきます。

 

package exercise;
public class Sample_sample2 {

public static void main(String[] args) {
 Dice dice = new Dice(6);
 System.out.println("目数="+dice.val);// ここにコードを挿入

}

}

これがそのプログラムですが起動する前にもう一つ

コンストラクタに引数を指定しないで作ろうとするとどうなるかを先に見てみます。

この様にエラーになってしまいます。

では、エラー

にならないほうを起動してみますwww

この様になるわけです。

POINT

★コンストラクタも書き方

ポイント①

名前はクラス名と同じでなければいけない。

ポイント②

戻り値型はない(voidも書くことができない)

ポイント③

 return文は書けない

コンストラクタはクラスの中に書きますがクラスメンバでないことに注意してください。よってオブジェクトを作ったとき、オブジェクトの中にも含まれません。

 

コンストラクタはクラスメンバでない

 

thisの利用

コンストラクタの引数にも推奨された書き方があります。

引数の名前を対応するフィールド変数と同じにすることです。

このことにより、引数とフィールド変数の対応が明確になります。

ただ、単に同じでもうまくいかない場合があります。

int val;                      //フィールド変数
public Dice (int val) {   //引数をフィールド変数と同じ名前に

 val = val; <---------------区別がつかない!!!
 
}

なのでこの場合は、キーワードthisを使い次のように書き換えます。

thisはjavaが持つシステム変数で、オブジェクト自信を指す。

point

this=このオブジェクト(オブジェクト自身を指す)

ここまでご覧いただきありがとうございました。

BY マんタ

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 33.81 ALIS Article tip 1.10 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
遂に!今年最後の月!!!気温もかなり下がって最低気温一桁だけど、まだなんとか耐えられる!年内に雪降らないトいいけどね( ̄▽ ̄)

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
教育・子育て

【科学】アリストテレスにデカルトにニュートンに…みな光に取り憑かれた~光学の発展~

Like token Tip token
23.75 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
教育・子育て

【科学(化学)】進化に必要だった猛毒のガス~酸素~

Like token Tip token
25.63 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
クリプト

続・NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
6.37 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

Like token Tip token
16.10 ALIS
Eye catch
他カテゴリ

オランダ人が語る大麻大国のオランダ

Like token Tip token
46.20 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
他カテゴリ

BCAAは本当に必要なのか?徹底的調査

Like token Tip token
1.20 ALIS