[解決済み] Javaクラスのインスタンス化および継承の禁止
2022-01-31 11:14:44
質問事項
単純なクラスをインスタンス化や継承ができないように修正するよう依頼されました。 インスタンス化されないためのabstractと、継承されないためのfinalの使い分けに戸惑いました。
このようなクラスはどのように書けばよいのでしょうか?
よろしくお願いします。
どのように解決するのですか?
クラスはfinalとabstractを両立させることはできません。コンストラクタを非表示にし、リフレクションで例外を発生させてインスタンス化を防ぐことができます。
それはこんな感じです。
final class MyClass {
private MyClass() {
throw new IllegalStateException("Cannot be instantiated"); //some exception
}
}
関連
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] いつ使うか。Java 8+のインターフェイスのデフォルトメソッドと、抽象的なメソッドの比較
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み】Javaの未処理例外について
-
[解決済み】javaで無効な文字定数