Java8_16~20:メソッド、継承、オーバーライド

メソッド

C言語の関数と同じ

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

・同じメソッド名で、引数の個数や型が違う場合、呼び出す時に判定される。

クラス

・クラス名の先頭は大文字
・クラスは、変数(フィールド)と関数(メソッド)を持つことが出来る

クラス名:User,
インスタンス名:Tom

Class User {
 String name = "tmp";

 void SayMyName() {
  System.out.println("hello");
 }

public class MyApp {
 public static void main(String[] args) {
  User h;
  h = new User();  // インスタンス
  // または  User h = new User();  // インスタンス

 }
}

コンストラク

・クラスがインスタンス化されるときに呼ばれるメソッド
・クラス名と同じ名前のメソッド
・メソッド内からクラスのフィールドにアクセスする際はthisを使う
・コンストラクタもオーバーロードが可能
 一つのメソッド内に引数の異なる複数のコンストラクタを作ると、
 インスタンス化するときの引数で呼ばれるコンストラクタが選ばれる。
・「this()」は、そのクラスのコンストラクタを指す

継承

・記法:class 「子クラス」extends 「親クラス」 {}
・子クラス内でコンストラクタを作ると、親クラスのコンストラクタが呼ばれる
・一番上の親のコンストラクタから順に呼ばれる

オーバーライド

・親クラスのメソッドを上書きすること。
・親クラスと同名のメソッドを書き直す。

アノテーション

・オーバーライドの際に、関数の前に「@override」と書くこと。
・親クラスに同名のメソッドがない場合、オーバーライドに失敗しているというメッセージを出してくれる。