Java
コンストラクタ
コンストラクタという特別なメソッド
名前を決めることができない。
初めから名前が決まっている。
クラスと同じ名前でなければならない。
戻り値もない。int voidなども書かない。
引数は自分で決めてよい。
2回目呼び出せない。
必ず一度は動作する。何も書いてなかったら、書いてないものを実行したことになる。
コンストラクタのオーバーロード
引数の異なるコンストラクタを複数宣言できる。これをコンストラクタのオーバーロードという。
インスタンスメソッド
誰誰さんの所持してるメソッドを使いたいと命令しないとダメ。
インスタンスメソッドによって、インスタンスに機能を追加できる。
インスタンスメソッドの中で、インスタンス変数を参照できる。
インスタンス変数を参照するためのthis.は省略できる。
thisの省略
this.変数名
これが明らかに分かるときはthis.は省略できる。
書いたほうが丁寧なので記述するのもあり。
ただし、引数を受け取る変数の名前がインスタンス変数の名前と同じ場合はthis.を省略できない。
クラス変数とクラスメソッド
普通の変数はインスタンス変数(呼び出されてから使えるようになる変数) new書いてあげるやつ
staticキーワードがつく変数とかメソッドは、スタートボタンが押された段階でメモリにのっける。
呼び出したときすぐに使える。


出力結果は0 →は宣言していないのに staticキーワードのおかげで、出力される。
継承
前のクラスでつかったものはそのまま使える。
前のクラスで書いた変数、メソッドそのまま使える。
新しく宣言するクラスに、すでにあるクラスの機能を組み込むことができる。
オブジェクト指向の重要な概念。アップデートがしやすい。楽。続きを書くイメージ。
継承の親子関係
一つの親から分岐するのはOK。 親2つはNG。
親がスーパークラス
子はサブクラス

コンストラクタだけは使えない。コンストラクタはクラスと同じ名前でなければならないため。
どの子がどの人を継承しているかわからない…
難しい…
フィールドとメソッドの継承
サブクラスはスーパークラスのフィールドとメソッドを引き継ぐ
サブクラスはスーパークラスと同じ名前の変数やメソッドを宣言することもできる。オーバーライド
ポリモーフィズム
スーパークラス型の変数に、サブクラスのインスタンスを代入できる。
同じ名前のメソッドを呼び出しても、インスタンスの種類(クラス)によって異なる処理が実行される。
今日の昼ごはん
