通常クラスと抽象クラス、インターフェースと抽象クラスの違い

質問 1: 通常のクラスと抽象クラスの違いは何ですか?

抽象クラス不能被实例化;抽象クラスは,
を持つことができます;抽象メソッドを持つクラスは抽象クラスです;抽象クラスのサブクラスは、抽象クラス内のすべての抽象メソッドを実装する必要があります。それ以外の場合、サブクラスは依然として抽象クラスです。抽象メソッドは実装できませ変更されました。抽象方法只需申明,无须实现
一定

不能声明为静态static、final

質問 2: インターフェイスと抽象クラスの違いは何ですか?

(1) インターフェース

インターフェイスはinterface変更を使用します。
インターフェイス不能实例化は、クラスがインターフェイス
を実装できます。多个

①java8以前では、インターフェース内のメソッドはすべて抽象メソッドであり、省略されていましたpublic abstract②java8以降; 静的メソッドはインターフェース内で定義できるようになり、静态方法必须有方法体通常のメソッドはメソッド本体がなく実装する必要があります。

(2) 抽象クラス

抽象クラスはabstract変更を使用します;
抽象クラス不能被实例化;
抽象クラスはのみ可能です单继承;
抽象クラスは抽象メソッドと非抽象メソッドを含めることができます非抽象方法需要有方法体;
クラスが抽象クラスを継承する場合、 ① すべての抽象メソッドが実装されている場合、サブクラスは抽象クラスではない可能性があります; ②もし没有实现所有的抽象方法子类仍然是抽象类

おすすめ

転載: blog.csdn.net/m0_48170265/article/details/130074699