[解決済み] No enclosing instance of type Foo is accessible "というエラーの原因と対処法を教えてください。
2022-02-07 05:55:07
質問内容
次のようなコードがあります。
class Hello {
class Thing {
public int size;
Thing() {
size = 0;
}
}
public static void main(String[] args) {
Thing thing1 = new Thing();
System.out.println("Hello, World!");
}
}
知っている
Thing
は何もしませんが、私の Hello, World プログラムはこれ無しでも問題なくコンパイルできます。私の定義したクラスだけが失敗しているのです。
そして、コンパイルを拒否しています。次のようになります。
No enclosing instance of type Hello is accessible."
を作成する行で、新しいThingを作成します。どちらかだと思います。
- システムレベルに問題がある(DrJavaまたは私のJavaインストールに)または
- Javaで動作するプログラムの組み方について、基本的な誤解があるのですが。
何かアイデアはありますか?
解決方法は?
static class Thing
を実行すると、プログラムが動作するようになります。
そのままでは
Thing
の特定のインスタンスと関連付けられています。
Hello
(というのは、(たとえ一度も使用したり参照したりしていなくても)エラーになります。
new Thing();
を持たずに、特定の
Hello
のインスタンスがスコープに含まれます。
代わりに静的クラスとして宣言すれば、それは "nested" クラスとなり、特定の
Hello
のインスタンスを作成します。
関連
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み] 汎用型Tのクラスインスタンスを取得する方法を教えてください。
-
[解決済み] Hibernateの「オブジェクトは保存されていないトランジェントインスタンスを参照しています - フラッシュする前にトランジェントインスタンスを保存してください」エラーの修正方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】Javaの未処理例外について
-
[解決済み】Javaの".class expected "について
-
[解決済み] 包含するインスタンスにアクセスできない。型の包含するインスタンスで割り当てを修飾する必要があります(例えば、x.new A()、ここでxはのインスタンスです) [重複]。