特定の値のセットでPackingCaseオブジェクトを構築しようとしています。プログラムはコーディング中にエラーを表示しませんが、実行中にこのエラーが発生します。Javaで新しいオブジェクトを構築する際のスタックオーバーフローエラー
Exception in thread "main" java.lang.StackOverflowError
at assignment.pkg2.PackingCase.<init>(PackingCase.java:59)
at assignment.pkg2.PackingCase.<init>(PackingCase.java:60)
マイコードは次のとおりです。 "PackingCase PC1 =新しいPackingCase();"
public class PackingCase {
// private fields go here
int serialNumber;
int timesUsed;
int timeCreated;
int timeStored;
String name;
String description;
void setCase(int s, int TU, int TC, int TS){
serialNumber = s;
timesUsed = TU;
timeCreated = TC;
timeStored = TS;
}
double volume(){
return serialNumber*timesUsed*timeCreated*timeStored;
}
public PackingCase(){
PackingCase PC1 = new PackingCase();
double vol;
PC1.setCase(1, 2, 3, 4);
vol = PC1.volume();
System.out.println(""+vol);
}
ライン59は、 "パブリックPackingCase(){"、およびライン60です。事実上同じコード構造を使った例を見て、何のエラーもなくコンパイルすることを考えれば、何が起こっているのか分かりません。どんな助けもありがとう。
+1:スタックオーバーフローエラーメッセージ – bdares