JAVAにおけるimplementとextendsの違いを詳しく理解する

1488 ワード

JAVAにおけるimplementとextendsの違いを詳しく理解する
extendsは継承親クラスであり、そのクラスがfinalと宣言されていないかabstractと定義されている限り継承でき、Javaでは多重継承はサポートされていないが、インタフェースで実現できる.これによりimplementsが使用され、継承は1つのクラスしか継承できないが、implementsは複数のインタフェースを実現でき、カンマで分けることができる.例えばclass A extends B implements C,D,E
implementsはクラスがインタフェースを実現するためのキーワードであり、インタフェースで定義された抽象的な方法を実現するために使用される.
あといくつか注意しなければならないことがあります.
(1)インタフェースは多重implements,抽象クラスは単一extendsのみ
(2)インタフェースは定義のみであり,抽象クラスは定義と実装が可能である.
(3)インタフェースのフィールド定義のデフォルトはpublic static final、抽象クラスフィールドのデフォルトはfriendly(このパッケージで表示)
例えば、peopleはインタフェースで、sayという方法があります.public interface people(){public void say();}しかしインタフェースにはメソッドボディがありません.メソッドボディは、1つの特定のクラスでしか実現できません.例えばchineseというクラスではpeopleというインタフェースが実現されています.

 public class chinese implements people
{ public void say() 
{System.out.println("  !");
}
}

Javaではimplementsは、クラスA継承クラスBがclass A implements B{}と書かれているように、サブクラス継承親クラスを表します.
Extendsとの違い
extendsは、親クラスを実装したり、親クラスを呼び出してthis.parent()を初期化したりすることができます.親定義の変数または関数が上書きされます.このような利点は、アーキテクチャがインタフェースを定義し、エンジニアに実現させることです.プロジェクト全体の開発効率は向上したが、開発コストは大幅に低下した.
implementsは、親を実装し、子は親のメソッドまたは変数を上書きできません.子クラスが親と同じ変数または関数を定義しても、親に置き換えられます.
この2つの実装の具体的な使用は、プロジェクトの実際の状況を見て、実装する必要があり、implementsを変更することはできません.インタフェースを定義するだけで具体的な実装が必要です.あるいは、拡張性を変更することができます.extendsを使用します.
以上はJAVAの中でimplementとextendsの区别を详しく理解して、もし疑问があれば伝言あるいは当駅のコミュニティに行って交流して讨论してもらって、読むことに感谢して、みんなを助けることができることを望んで、みんなに当駅の支持に感谢します!