読者です 読者をやめる 読者になる 読者になる

Let's Enjoy it !

もなねこのプログラミング記録や意見など

【Java入門】問題を解いてコンストラクタについて理解を深めよう!

Programming java プログラミング

Java初心者を対象としたコンストラクタの入門講座です。問題を解くことで理解を深めることを目的としました。
本当にコンストラクタを理解しているのかを確認してみてください。

コンストラクタ(Constructor)について理解を深めよう!

問題1

次の文章はコンストラクタについて説明したものです。括弧にあてはまる言葉を選んでください。


コンストラクタを使うことでデータの初期化を行うことが(できる / できない)。
なぜならコンストラクタは(インスタンス / クラス)の生成時に
自動で実行されるメソッドだからだ。
ただし次のルールを守らなければならない。
1.戻り値を定義(しなければならない / できない)
2.引数を渡せ(る / ない)
3.メソッド名はクラス名と同じ名前に(しなければならない / してはならない)


問題2

次のソースコードを修正してSample01.javaというプログラムを完成させなさい。



実行結果
1+2 = 3


回答

問題1の回答


 コンストラクタを使うことでデータの初期化を行うことが(できる)。なぜならコンストラクタは(インスタンス)の生成時に自動で実行されるメソッドだからだ。
 ただし次のルールを守らなければならない。
 1.戻り値を定義(できない)
 2.引数を渡せ(る)
 3.メソッド名はクラス名と同じ名前に(しなければならない)


「解説」
引数を渡せる=初期化ができる
コンストラクタは長い記述を避けて値をぶち込むためのメソッドです。
上記のほかにもコンストラクタは継承できないなどの特徴もありますので覚えておいてください。

問題2の回答例



「解説」
thisは自分自身のという意味です。インスタンス変数の参照時は忘れないようにしましょう。
ただしAdd(int x2, int y2)などにした場合にはthisを使う必要はありません。単純にx = x2; y = y2とすればいいです。
thisというキーワードはどの変数なのかをはっきりさせるために用いるのです。

あとがき


最近ドットインストール(プログラミングの動画サイト)のプレミアム会員になりました。理由は今の時代、書籍<動画なのかなあと考え始めたからです。


試しに復習のつもりでJava8入門講座を受けてみたのですが、なかなかわかりやすいですね!ただ中盤以降は「これ初心者に説明するにはざっくりしすぎてないか?」と思う部分も多々あり、特に顕著だったコンストラクタについて書きました。おそらくガチの初心者が動画だけで学ぼうとすると、この機能いる?と首を傾げる場面も多いと思います。


これからドットインストールで学ぶ方は、動画だけでなく調べながら学習したり、問題を解くことで理解を深める努力をした方がいいでしょう。


Java初心者のわずかな支えになれば幸いです。


おすすめのJava参考書

以前は「やさしい」シリーズを薦めていましたが、初心者にとって本当に優しい良書はどれかと考えたとき、やはりこれかなと思い「スッキリわかる」シリーズをおすすめすることとしました。Java入門書で最も人気のある良書です。迷ったらこれ。

こちらも初心者におすすめしたい良書。解説がわかりやすく、躓くことなく読み進めることができます。

広告を非表示にする