私はJavaが初めてで、それがどのように機能するかを理解するためにいくつかの例を試しています.
次のコードが失敗する理由を理解するのに問題があります。エラーの原因となっている行はわかっていますが、その理由はわかりません。と の 2 つのクラスを作成Class1
しMain
ました。そのコードは、2 つの別個の .java ファイルに記述されています。
public class Class1
{
int var;
public void method1 ()
{
System.out.println(var);
}
Class1 obj1 = new Class1(); // this is the line that causes the error
}
と
public class Main
{
public static void main (String[] args)
{
Class1 obj = new Class1();
obj.method1();
}
}
正常にコンパイルされますが、実行java Main
すると何百回もエラーが出力されます
at Class1.<init>(Class1.java:8)
実行してみましたjava Main | more
(Unix Bash を使用しています) が、パイプがなぜか無視され、エラー メッセージの最初の行が表示されません。またjava Main > log.txt
、テキスト ファイルへの出力リダイレクトも機能しません。その行を削除すると、つまり、クラス本体でClass1
オブジェクトを作成しない場合、すべて正常に動作します。誰かがその行の何が問題なのか説明できますか?obj1
Class1
ありがとうございました