search
LoginSignup
0

More than 5 years have passed since last update.

posted at

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

つまりどころ〜

  
こんにちは。

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
What you can do with signing up
0