Javaのインターフェースと抽象クラスの違い

  1. 实现方式不同:接口是用关键字interface定义的,抽象类是用关键字abstract定义的。
  2. 継承方法が異なります。クラスは複数のインターフェイスを実装できますが、抽象クラスを継承できるのは1つだけです。
  3. メンバ変数はインターフェイスと抽象クラスで異なります。インターフェイスには定数のみ宣言できますが、インスタンス変数は宣言できません。抽象クラスにはインスタンス変数が含まれます。
  4. メソッドの実装方法が異なる。インターフェースのメソッドは暗黙的に抽象的で宣言のみで実装はできない。抽象クラスのメソッドは実装あり/なしの両方がある。
  5. コンストラクタの有無:インターフェイスはコンストラクタを持たない。抽象クラスはコンストラクタを持つことができる。
  6. インターフェースではインターフェース実装クラスから継承またはオーバーライド可能なデフォルトメソッドを定義できますが、抽象クラスではデフォルトメソッドを定義できません。
  7. 呼び出し方が違う。インターフェースのメソッドは、実装クラスのインスタンス経由で呼び出す必要がある。抽象クラスのメソッドは、インスタンス経由でも、クラス名経由でも呼び出せる。

インターフェースとは、振る舞いを定義するためのもの、それに対し抽象クラスとは、継承するためのもの、共通の振る舞いを持ち、具体的なメソッドを含むことができます。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds