抽象クラスとは何ですか
それはされるべきでない抽象的な、彼はこの機能の各サブクラスの特定の実装を知らなかった、親クラスが策定され、すべてのサブクラスに共通する特色にする、修正クラスの後、その親クラスに共通する機能の具体的な実現を与えるために必要しかし、与えられた文は、することができます。機能指定したいわゆる文では、この機能は抽象化して、抽象関数をオーバーライドする必要があり、サブクラスを強制されます。
注意事項
- 抽象メソッドを持つクラスたら、そのサブクラスは抽象的でなければなりません。
- 抽象クラスの抽象メソッドはできません。
- 抽象メソッドを使用すると、非抽象メソッドを有していてもよく、抽象クラス両方にすることができます。メソッドの抽象サブクラスのオーバーライド力。非抽象サブクラスは、それを継承します。
- 抽象クラスはインスタンス化できない、間接的多型インスタンス化を取ることができます。
- 抽象クラスのサブクラス、または親クラスのすべての抽象メソッドをオーバーライドする、または彼はまた、抽象クラスです。
- サブクラスの存在抽象クラスのコンストラクタは、親クラスを初期化するために使用されます。
それらと共存することはできませんキーワード抽象的な
- pravite:プライベート、抽象的に関与しているものを継承していません
- 最終:最終修正方法は、メソッドをオーバーライドされていません。変更されたクラス、クラスが継承することはできません。
- 静的:静的ワード変更が継承に参加していない、それも無意味です。
インターフェースは何ですか
インタフェース、将来的に物事がこの機能を持っているしたい拡張子の数を、定義するために使用される、あなたはこのインターフェイスを(実装)を実装して、特定の機能の実装を行うことができます。
注意事項
- いくつかの余分な機能を定義するために使用されます。
- インターフェースは、ルール(規範)、拡張の数を定義するために使用されます。
- インターフェイスのメンバ変数は、すべての静的パブリック定数です。public static finalデフォルトの修飾子
- ノーコンストラクタをインターフェイス。
- インターフェイスは、すべての抽象メソッドです。パブリック抽象デフォルトの修飾子。
抽象クラスとインタフェースとの間の差
- アイデア:
抽象クラスは、すべてのサブクラスの共通の特徴を抽出するため、および一般的な機能のための力のサブクラスが書き換えられます。
インターフェイスの定義はクラスがこれらの拡張機能を持っていると思い継承階層全体の中で余分な機能のいくつかをしている、あなたはこのインタフェースを実装するために行くことができます。 - 構文:
- そこ抽象クラスのコンストラクタ、コンストラクタをインターフェイスません。
- 抽象メソッドを使用すると、非抽象メソッドを有していてもよく、抽象クラス両方にすることができます。インターフェイスは、すべての抽象メソッドです。
- 抽象クラスインターフェースは、メンバ変数を持っている、あなたは定数を持つことができます。フルのpublic static定数のインタフェース。
自己理解
に関係なく書き換えるためにすべての必要性を使用して、書き込み処理でトラブル、及び実施の過程でインターフェイスを起こさないのすべてのメソッド抽象クラスは、それだけを書き直す必要がないため、インターフェイスがより達成することができますまた、欠陥の単一継承の本質を構成しています。