Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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);
    }
}

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

r_ochi
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした