【Java】thisとsuperについて

f:id:hira98:20190517131546p:plain

【結論】

  • Javaには継承という概念があるため、自クラスと親クラスのどちらを指定しているかを分ける必要がある。

  • thisを使う事で、自クラスの資源(インスタンス変数やコンストラクタの呼び出し)へのアクセスであることを明示的に示せる。

  • superを使う事で、親クラスのどのコンストラクタを呼び出すかを指定することができる。

【目次】

継承とは

前回、おふざけ成分99%でまとめたため省略します。

hira98.hatenablog.com

thisについて

thisとは自クラスのインスタンス変数へのアクセスや、コンストラクタを呼び出す際に使用されます。

書き方はルールは次の通りです。

thisを使ったサンプルソースと実行結果は以下になります。

↓実行結果

ワイ「何時間Youtube視聴したっけ?」
(入力)18

ワイ「UFO(1個3分)だと『360個』出来てまうわ!!」
ワイ「どんべい(1個5分)だと『216個』出来てまうわ!!」

superについて

superとは親クラスを継承した子クラスのインスタンスを生成した時に呼ばれる、親クラスのコンストラクタを明示的に指定するための方法です。

子クラスのコンストラクタの先頭行にsuper()で指定します。

super()が未指定の場合、親クラスの引数なしのコンストラクタが暗黙的に呼ばれます。

superを使ったサンプルソースと実行結果は以下になります。

↓実行結果

---[実行結果1]---
super() call
SubClass1() call
---[実行結果2]---
super() call
SubClass1(int a) call
---[実行結果3]---
super() call
SubClass2() call
---[実行結果4]---
super(int a) call
SubClass2(int a) call

ネタが浮かばないせいで、味気ないサンプルプログラムになってしまい、ゴメンなさい😞

参考情報

https://www.seshop.com/product/detail/18868

Javaに関する情報源です。

https://ryoutaku-jo.hatenablog.com/

→ブログ投稿のモチベーションを維持するための情報源です。

最後に

1週間のyoutubeの視聴時間調べたら18Hだった😱

これにTwitterもプラスされるので、恐ろしいことになる。

何かしらの対策を講じなければ。。