-5
我有一些代碼,當其在調用從另一個類的Java類
public static void main(String[] args) throws IOException {
工作正常運行,但是當我改變代碼來讀取
public class Locate {
public Locate() throws IOException {
,並從另一個類調用它使用
Locate location = new Locate();
我知道得到的錯誤
Exception in thread "main" java.lang.StackOverflowError
at geolocatenodes.Locate.<init>(Locate.java:26)
at geolocatenodes.Locate.<init>(Locate.java:28)
調用另一個類的類的正確方法是什麼?
非常感謝
編輯:
public Locate() throws IOException {
Locate obj = new Locate();
String file = "IP.txt";
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
// System.out.println(line);
ServerLocation location = obj.getLocation(line);
System.out.println(location);
try {
String filename = "Locations.txt";
try (FileWriter fw = new FileWriter(filename, true)) {
fw.write(location + "\n");
}
} catch (IOException ioe) {
System.err.println("IOException: " + ioe.getMessage());
}
}
}
}
你能告訴)全碼'公共的大括號內找到(拋出IOException異常{'? – Sweeper
你的例外說明了一切!這是一個__StackOverflowError__。不是__IOException__。並且不要在構造函數中創建對象! –
你需要去了解構造函數實際是什麼。 – user2357112