【Java開発】第17回 抽象クラス

Java入門講座

はじめに

皆さん。こんにちは!

DreamHanksの254cmです。

今回は抽象クラスについて説明していきます。

Java記事のまとめはこちらです。

前回の記事は【Java開発】第16回 オーバーライドです。

抽象クラス

抽象クラスとは?

抽象メソッドを1個以上含めているクラスを抽象クラスといいます。

通常のクラスと抽象クラスは抽象メソッドの有無以外の違いはありません。

抽象クラスはそのままインスタンスを生成することができません。

抽象メソッドとは?

抽象メソッドはメソッドの宣言だけが存在し、実行時の動作が記述されていないメソッドです。

一般のメソッドと異なり、継承される子供クラスで必ずオーバーライドして動作を定義する必要があります。

つまり、抽象クラスは継承して使うことを前提にして作られるクラスです。

抽象クラスの書き方

サンプル

抽象メソッドの書き方

サンプル

抽象メソッドは実装がなく、メソッド名、戻り値のデータ型、引数だけを見て何のためのメソッドか

を判断する必要がありので、JavaDocコメントを作成するほうがいいです。

抽象クラスの注意点

サンプル

上記サンプルのように抽象クラスはインスタンスを生成することができません。

インスタンスが生成できない理由は、実装されていない抽象メソッドの対応ができないのでです。

しかし、実装されていない抽象メソッドをインスタンスが生成されるときに実装するとインスタンス

の生成ができるようになります。

上記のようにインスタンスを生成することができます。

抽象クラスの継承

上記のサンプルのようにインスタンスが生成されるたびに抽象メソッドを実装して使うこともできま

すが、 一般的には抽象クラスを継承する子供クラスを作成して使います。

サンプル

上記のように抽象メソッドを実装しないとコンパイルエラーが表示されます。

コンパイルエラーが表示されているところをマウスオーバーすると

上記のようなものが表示されます。

表示されたものの「Add unimplemented methods」をクリックすると自動で抽象メソッドのオーバーライドが作成されます。

生成された空のメソッドで必要な処理を作成して抽象メソッドを実装します。

p

上記のように子供クラスのインスタンスを生成して抽象メソッドを呼び出すことができます。

 

終わりに

今回の記事は以上になります。

次回はインターフェースを学びましょう。

ご覧いただきありがとうございます。

Java入門講座
スポンサーリンク
dreamhanksをフォローする
スポンサーリンク
DreamHanks Blog

コメント