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

抽象クラス

抽象クラスは、しなければならない  abstract サブクラスが達成されない場合は、サブクラスも抽象的で変更する必要があり、抽象クラスの抽象メソッドを実装する必要があり、修正します。修飾のための抽象クラスのデフォルトのアクセス許可が  publicpublicとして定義またはプライベートとして定義されている場合は、proctedすることができ、その後、サブクラスは継承できません。抽象クラスはオブジェクトを作成できません。

抽象クラスと普通のクラスとの違い

  1. 抽象クラスは、procted修正(プライベート修正場合は、サブクラスが継承することはできませんが、それはその抽象メソッドを達成することはできません)パブリックでなければなりません。デフォルトでは、デフォルトではpublicです
  2. 抽象クラスはオブジェクトを作成できません。
  3. サブクラスが抽象クラスを継承する場合は、そのすべての抽象メソッドを実装する必要があります。抽象メソッドがある場合には実装されていない、それは抽象として定義する必要があります

インターフェース

暗黙的な変数インタフェース使用  public static final 修正を、初期値が与えられる必要があります。使用の陰解法  public static (、エラーをコンパイルprocted、それがプライベートである場合にのみ、パブリックであることができる)修飾。この方法は、デフォルトのインターフェイスの特定の実装を持つことができない(JDK1.8は、デフォルトの実装で開始することができます)

抽象クラスとインタフェースとの間の差

  1. 抽象クラスは一度だけ継承することができますが、複数のインタフェースを実装することができます
  2. 抽象クラス抽象メソッドが実装されていない場合のインタフェースと抽象クラスは、抽象クラスのサブクラスを定義する必要があり、その後、内のすべてのメソッドを実装する必要があります。あなたは抽象クラス非抽象メソッドを持つことができます
  3. public static final変数とのインタフェースが変更され、初期値を与える必要がなければなりません。そのため、実装クラスは、その値を変更しないで、再定義することはできません。
  4. デフォルトのインターフェイスメソッドはパブリック抽象的で、これだけの種類のものとすることができます。静的にすることはできません、インターフェイスのオーバーライドサブクラスを許可しない方法は、抽象クラスの静的メソッドを可能に

 参考:https://www.cnblogs.com/zzfpz/p/10990210.html

抽象クラスは、しなければならない  abstract サブクラスが達成されない場合は、サブクラスも抽象的で変更する必要があり、抽象クラスの抽象メソッドを実装する必要があり、修正します。修飾のための抽象クラスのデフォルトのアクセス許可が  publicpublicとして定義またはプライベートとして定義されている場合は、proctedすることができ、その後、サブクラスは継承できません。抽象クラスはオブジェクトを作成できません。

抽象クラスと普通のクラスとの違い

  1. 抽象クラスは、procted修正(プライベート修正場合は、サブクラスが継承することはできませんが、それはその抽象メソッドを達成することはできません)パブリックでなければなりません。デフォルトでは、デフォルトではpublicです
  2. 抽象クラスはオブジェクトを作成できません。
  3. サブクラスが抽象クラスを継承する場合は、そのすべての抽象メソッドを実装する必要があります。抽象メソッドがある場合には実装されていない、それは抽象として定義する必要があります

インターフェース

暗黙的な変数インタフェース使用  public static final 修正を、初期値が与えられる必要があります。使用の陰解法  public static (、エラーをコンパイルprocted、それがプライベートである場合にのみ、パブリックであることができる)修飾。この方法は、デフォルトのインターフェイスの特定の実装を持つことができない(JDK1.8は、デフォルトの実装で開始することができます)

抽象クラスとインタフェースとの間の差

  1. 抽象クラスは一度だけ継承することができますが、複数のインタフェースを実装することができます
  2. 抽象クラス抽象メソッドが実装されていない場合のインタフェースと抽象クラスは、抽象クラスのサブクラスを定義する必要があり、その後、内のすべてのメソッドを実装する必要があります。あなたは抽象クラス非抽象メソッドを持つことができます
  3. public static final変数とのインタフェースが変更され、初期値を与える必要がなければなりません。そのため、実装クラスは、その値を変更しないで、再定義することはできません。
  4. デフォルトのインターフェイスメソッドはパブリック抽象的で、これだけの種類のものとすることができます。静的にすることはできません、インターフェイスのオーバーライドサブクラスを許可しない方法は、抽象クラスの静的メソッドを可能に

 参考:https://www.cnblogs.com/zzfpz/p/10990210.html

おすすめ

転載: www.cnblogs.com/jssj/p/11407211.html