【java】这个连续的调用在编译时候是没有错误的,但是运行错误


public class ATypeName 
{
    public static void main(String[] args)
    {
        ATypeName a = new ATypeName();
        a.b();
    }
    public void b()
    {
        System.out.print("1");
        ATypeName z = new ATypeName();
        z.c();
    }
    public void c()
    {
        System.out.print("1");
        ATypeName x = new ATypeName();
        x.b();
    }
}

部分错误报告(来自eclipse)

 Exception in thread "main" java.lang.StackOverflowError
    at sun.nio.cs.ext.DoubleByte$Encoder.encodeLoop(Unknown Source)
    at java.nio.charset.CharsetEncoder.encode(Unknown Source)
    at sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
    at sun.nio.cs.StreamEncoder.write(Unknown Source)
    at java.io.OutputStreamWriter.write(Unknown Source)
    at java.io.BufferedWriter.flushBuffer(Unknown Source)
    at java.io.PrintStream.write(Unknown Source)
    at java.io.PrintStream.print(Unknown Source)
    at xyz.wuda16.u2.ATypeName.c(ATypeName.java:18)
    at xyz.wuda16.u2.ATypeName.b(ATypeName.java:14)
    at xyz.wuda16.u2.ATypeName.c(ATypeName.java:20)
    at xyz.wuda16.u2.ATypeName.b(ATypeName.java:14)
    at xyz.wuda16.u2.ATypeName.c(ATypeName.java:20)

来自javac编译和java运行

 找不到或无法加载主类

大神求解啊,难道是我的错误太明显,骗不过编译器吗。

这错误java.lang.StackOverflowError是有死循环,内存溢出了,和编译没关系

这个错误说的明白,栈溢出啊