ホームページ >Java >&#&チュートリアル >Javaで抽象クラスをインスタンス化するにはどうすればよいですか?
抽象クラスは、「Abstract」キーワードを通じて Java で宣言されたクラスです。抽象クラスは、「継承」と呼ばれるオブジェクト指向プログラミング (OOP) の 4 つの原則の 1 つにおける概念です。継承とは、「サブクラス」と呼ばれるクラスがクラスのすべてのプロパティを継承する Java クラスの機能を指します。親クラスは「スーパークラス」と呼ばれることがよくあります。
Java では、抽象クラスは、他のサブクラスが継承できる基本スーパークラスを指します。抽象メソッドと非抽象メソッドの両方を含めることができます。
###アルゴリズム###- デフォルトの実装がある、または実装されていないクラス内のメソッドを特定します。
- これらのメソッドの実装を削除します。
- クラス宣言に抽象キーワードを追加します。
- ステップ 2 で変更したメソッド宣言に abstract キーワードを追加します。
- クラスに初期化する必要があるインスタンス変数がある場合は、それらを初期化するためのコンストラクターを追加します。
- 抽象クラスのサブクラスを更新して、抽象メソッドを実装するか、それ自体を抽象にします。
###文法###具象サブクラス
- 曖昧または不完全な抽象クラスを正しくインスタンス化するために、具象サブクラスの使用を選択できます。この親抽象化からシームレスに拡張し、その各メソッド要件を実装することにより、ユーザーは、操作にエラーや不一致が発生することなく、この新しくインスタンス化されたサブクラスを正常に作成および実装できます。
ラムダ式 - 抽象クラスからオブジェクトを作成するには、別のオプションがあります。すべての抽象化の実装を提供するラムダ式を使用します。このラムダ作成は、これらの署名に基づいて互換性のある関数インターフェイス変数に割り当てられます。
抽象クラスをインスタンス化する 抽象クラスの使用法を理解するためにサンプル コード スニペットを見てみましょう。最初のシナリオでは、非抽象クラスを含むコードが提供されます。
###例### リーリー ###出力### リーリーリーリー ###出力### リーリー
上記の更新されたコードでは、Circle クラスと Rectangle クラスは、「Shape」抽象クラスで定義された抽象メソッド printName() と area() を実装しています。 Shape クラスの printDetails() メソッドは、これらのメソッドを使用して、形状名とそのそれぞれの領域を出力できます。リーリー ###出力### リーリー
このコードの最新の更新では、getName() 関数を内部化しながら Shape を抽象クラスとして指定する改良されたメソッドを導入しました。さらなる改善には、getName() からのデータをうまく利用して、対応する各図形の名前を表示する printName メソッドの統合が含まれます。 Circle および Rectangle サブクラスの場合 - ラムダ式を使用して対応する getName をオーバーライドするようになり、予期されるフォームが正確に識別されるようになります。###結論は###
つまり、抽象クラスは、直接ではなく、その基本サブクラスを通じてのみインスタンス化できます。これは継承された概念です。以上がJavaで抽象クラスをインスタンス化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。