クラス内の抽象修飾子がそれを作ることは誰もが知っています
それに加えて、私はそれが背後に表すすべての変更または副作用を正確に知りたいです。まだ何をしていないのかは定かではありませんが、継承やコンストラクターなど、もっと検討すべきことがあるのではないかと思います。
説明されている2つの公式のポイントとは別に、抽象クラスと、スーパーと呼ばれる拡張時に考慮すべき具体的なクラスとの間に違いや特別な動作がありますか。
コンパイラは、それが通常のクラスであり、インスタンス化を禁止する以外のすべてのプロパティを持っていると想定していますか?
抽象クラスは、ほとんどの場合、設計概念です。コンパイラーよりも、コードのリーダーに対してより多くのことを行います。それらに必要なコンパイラとJVMのサポートは最小限です。つまり、クラスに「インスタンス化しない」フラグを設定し、コードをコンパイルするとき、およびリフレクションを介してインスタンスを作成しようとするときにチェックします。
一方、コードの人間の読者にとっての利点ははるかに大きいです。彼らは、継承用に抽象クラスを設計したことを知っており、抽象メソッドを介してどの拡張ポイントを作成したかを確認します。さらに、コンパイラは、すべての抽象メソッドにオーバーライドが提供されているかどうかを追跡します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加