LoginSignup
0

More than 5 years have passed since last update.

Java Silverつまりどころ(その5)

Posted at

つまりどころ〜

  
こんにちは。

Java Silver来年ほんきだす。

abstract

abstractとはクラスやメソッドを定義する際に付与することで、それらを抽象化することができる。
具現化(クラスであればインスタンス生成、メソッドであれば具体的な処理)することができなくなるよ。

クラスの場合

下記のようにabstract宣言されたクラスを直接インスタンス生成することはできない。

class Main {
    public static void main(String[] args) {
        Hoge hoge = new Hoge();
    }
}

abstract class Hoge {

}

以下のようにabstractクラスを継承して使うよ。

class Main {
    public static void main(String[] args) {
        Fuga fuga = new Fuga();
    }
}

abstract class Hoge {

}

class Fuga extends Hoge {

}

メソッドの場合

abstractメソッドは、具体的な処理を書かずにメソッドを定義したい場合に利用する。

class Main {
    public static void main(String[] args) {
        Fuga fuga = new Fuga();
        fuga.run();
    }
}

abstract class Hoge {
    abstract public void run();
}

class Fuga extends Hoge {
    public void run() {
        // 処理
    }
}

Hogeクラスで定義されたrunメソッドはabstract宣言されているので、FugaクラスでHogeクラスを継承したのであればrunメソッドは必ずオーバーライドする必要がある。

    
  
アウトプットして、ちしき固めていくぞ〜。
  
  

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0