Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの抽象クラスと具象クラスの違い


Javaでは、抽象化は抽象クラスとインターフェースを使用して実現されます。抽象クラスには、子クラスである抽象メソッドが含まれています。抽象クラスと具象クラスの重要な違いは次のとおりです。

抽象クラス
コンクリートクラス
Sr。いいえ。
キー
1
サポートされているメソッド
abstractクラスには、抽象メソッドと具象メソッドの両方を含めることができます。
具象クラスは具象メソッドのみを持つことができます。単一の抽象メソッドでさえ、クラスを抽象化します。
2
インスタンス化
抽象クラスはnewキーワードを使用してインスタンス化できません。
新しいキーワードを使用して具象クラスをインスタンス化できます。
3
抽象メソッド
abstractクラスには、抽象メソッドがある場合とない場合があります。
コンクリートクラスは抽象メソッドを持つことができません。
4
最終
抽象クラスを最終クラスとして宣言することはできません。
具象クラスはfinalとして宣言できます。
5
キーワード
abstractキーワードを使用して宣言されたabstractクラス。
concreteクラスは宣言中にabstractキーワードを持っていません。
6
継承
抽象クラスは、extendsキーワードを使用して別のクラスを継承し、インターフェースを実装できます。
インターフェースはインターフェースのみを継承できます。
7
インターフェース
抽象クラスはインターフェースを単独で実装することはできません。インスタンス化にインターフェイスを使用できるようにするには、子クラスが必要です。
インターフェースは簡単に実装できます。

抽象クラスと具象クラスの例

JavaTester.java

public class JavaTester {
   public static void main(String args[]) {
      Cat lion = new Lion();
      lion.eat();
   }
}
abstract class Cat {
   abstract public void eat();
}
class Lion extends Cat{
   public void eat(){
      System.out.println("Lion eats");
   }
}

出力

Lion eats

  1. JavaのExceptionクラスとErrorクラスの違いは何ですか?

    ExceptionクラスとErrorクラスはどちらもjava.lang.Throwableクラスのサブクラスであり、実行時に例外を処理できますが、エラーは処理できません。 例外は、実行時に発生し、JVMを「あいまい」の状態にする論理エラーを表すオブジェクトです。 これらのランタイムエラーを表すためにJVMによって自動的に作成されるオブジェクトは、例外と呼ばれます。エラーはThrowableクラスのサブクラスであり、妥当なアプリケーションがキャッチしようとしてはならない重大な問題を示します。このようなエラーのほとんどは異常な状態です。 例外が発生した場合は、tryおよびcatchブロックを使用

  2. Javaの抽象クラス

    宣言にabstractキーワードを含むクラスは、abstractクラスと呼ばれます。 抽象クラスには、抽象メソッド、つまり本体のないメソッドが含まれる場合と含まれない場合があります(public void get();) ただし、クラスに少なくとも1つの抽象メソッドがある場合、そのクラスは抽象として宣言する必要があります。 クラスが抽象として宣言されている場合、インスタンス化することはできません。 抽象クラスを使用するには、それを別のクラスから継承し、そのクラスに抽象メソッドの実装を提供する必要があります。 抽象クラスを継承する場合は、その中のすべての抽象メソッドに実装を提供する必要がありま