Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@r_ochi

Java学習メモ(抽象クラス)

Java Silverの勉強をしているので自分の忘備録としてUPします。
ざっくりとしたメモなので、詳細は記載してません。

抽象メソッドとは実装を持たないメソッド(メソッド名、引数の型、引数の数)と戻り値の型のみを定義するメソッドである。

<注意点>
①直接インスタンス化できないので、サブクラスをインスタンス化する。
②上記の理由で、スーパークラスのコンストラクタを呼び出す場合、サブクラスでコンストラクタを記述し、super();を使用してスーパークラスのコンストラクタを呼び出す必要がある。
③抽象メソッドは全てオーバーライドすること。
④記述は以下の通り、抽象メソッドに{}は記述しない。
 abstract class クラス名 {
  abstract 戻り値の型名 メソッド名(引数);
 }
⑤extendsで継承してオーバーライドする。

public abstract class _abstract {
    public void test(int num) {
        System.out.println(1);
        method(num);
        System.out.println(3);
    }
    public abstract void method(int num);
}

public class _subabstract extends _abstract{
    public static void main(String[] str) {
        _subabstract sub = new _subabstract();
        sub.test(2);
    }

    public void method(int num) {
        System.out.println(num);
    }
}

オーバーライド:メソッド名、引数の数、順番が同じメソッドを定義すること。
オーバーロード:同じメソッド名で、引数の数と順番が違うメソッドを定義すること。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?