java多线程环境下类初始化死锁?

今天在使用iead写tij中的动态代理的时候遇到这个问题:
图片描述
代码如下:

interface Null{}

public class Person
{
    public final String first ;
    public final String last ;
    public final String address ;

    public Person(String first, String last, String address) {
        this.first = first;
        this.last = last;
        this.address = address;
    }

    @Override
    public String toString() {
        return "Person: " + first + " " + last + " " + address ;
    }

    public static class NullPerson extends Person implements Null
    {
        private NullPerson()
        {
            super("None" , "None" , "None") ;
        }
    }

    public static final Person NULL = new NullPerson() ;
}

这个问题该怎么理解呢?

阅读 2.2k
1 个回答

我的mac上复制代码没有这个提示,环境是java1.8+idea14

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题