[解決済み] 抽象クラスはコンストラクタを持つことができますか?
2022-03-14 11:06:48
質問
抽象クラスはコンストラクタを持つことができますか?
その場合、どのように、どのような目的で使用することができますか?
どのように解決するのですか?
はい、抽象クラスはコンストラクタを持つことができます。これを考えてみましょう。
abstract class Product {
int multiplyBy;
public Product( int multiplyBy ) {
this.multiplyBy = multiplyBy;
}
public int mutiply(int val) {
return multiplyBy * val;
}
}
class TimesTwo extends Product {
public TimesTwo() {
super(2);
}
}
class TimesWhat extends Product {
public TimesWhat(int what) {
super(what);
}
}
スーパークラス
Product
は抽象的でコンストラクタを持つ。具象クラス
TimesTwo
のコンストラクタは値 2 をハードコードしているだけです。具象クラス
TimesWhat
には、呼び出し側が値を指定できるコンストラクタがあります。
抽象コンストラクタは、クラスの設定に必要な最小限のフィールドなど、クラスの制約や不変性を強制するために頻繁に使用されます。
<ブロッククオート注:親コンストラクタにはデフォルトの(あるいは引数のない)コンストラクタは存在しないので 抽象クラスでは、サブクラスで使用されるコンストラクタは明示的に 親コンストラクタ
関連
-
エラー java.util.NoSuchElementException
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] C#でベースコンストラクタを呼び出す
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] あるコンストラクタを別のコンストラクタから呼び出す
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
final, finally, finalizeの違いについて話してください。
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
サーブレットクラスのインスタンス化エラーの解決法
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
Javaエラーメッセージがenclosingクラスでない
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。