「抽象」キーワードは、クラス(オブジェクト)のインスタンスを作成できないことを意味します。
Java.Lang.Mathの前には次のキーワードがあります
public final class Math {
...
}
しかし、「抽象的な」キーワードはありません。このクラスは、PIやsin()などの関連する静的変数とメソッドのコレクションを提供するだけです。
静的とは、それらの変数/メソッドをオブジェクトの異なるインスタンス間で一意にすることはできないことを意味します(クラス自体に関連付けられている変数/メソッドのコピーは1つだけです)。では、なぜプログラマがクラスのインスタンスを作成できるようにするのでしょうか。「abstract」に先行しないのはなぜですか?
java.lang.Math
Utilityクラスです(静的ユーティリティメソッドのみが含まれます)。
ユーティリティクラスを定義する正しい方法は、他のクラスがそれを拡張できないようにそれをfinalにし、誰もクラスのインスタンスを作成できないように引数なしのプライベートコンストラクターを持つことです。
したがって、クラスのインスタンスを作成することはできません。ただし、抽象的なアプローチをとる場合、finalを使用することはできず、それが拡張されるのを防ぐ方法はありません。したがって、以前のアプローチの方が優れています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加