سلام. لطف کنید به کد زیر توجه کنید:
class Document {
private String name = "Java";
public Document() {
Printer printer = new Printer();
printer.print(new Document());
}
@Override
public String toString() {
return name;
}
}
class Printer {
public void print(Document doc) {
if (doc.equals("Java Programming")) {
System.out.println("Print");
} else {
System.out.println("Error");
}
}
}
public class MainApp {
public static void main(String[] args) {
new Document();
}
}
بعد از اجرای برنامهی فوق، استثنای استثنای java.lang.StackOverflowError رخ میده. میشه راهنمایی کنید چرا؟