什么原因造成线程的栈满的呀?

最近学习C++着,发现C++里面的友元类不错,我就想着能否用java也实现下,如实就在网上找了些资料

http://yangdong.iteye.com/blog/907397

这上面的方法是对的,但我想用自己的方法去实现,结构报Exception in thread "main" java.lang.StackOverflowError(线程的栈满)

这是我的代码

Mian类

public class Main {

    public static void main(String args[]){
        new TrueFriend().call();
    } 
    private static void OnlyFriendCanCall(){
        System.out.println("this is a friend");
    }
    static class  Friend{
        public Friend(){
            
        }
        public void OnlyFriendCanCall( ){
            OnlyFriendCanCall();
        }
    }
}

 这是 TrueFriend类

public class TrueFriend extends Main.Friend{

    public void call(){
        super.OnlyFriendCanCall();
    }
}

  

我想让大家帮我看看是什么原因造成异常的(线程的栈满),谢谢了

 

死循环嘛,自己调自己 都要把上次的压栈

应该是
public void OnlyFriendCanCall( ){

[color=red]Main.[/color]OnlyFriendCanCall(); //类的静态方法
}