无法使用构造函数?

Jav*_*rim 0 java constructor

所以,我不知道为什么下面的程序不打印1.

class ck {
    static  int a,c;
    ck(int b, int d){
        a=b;
        c=d;
    }
    ck (){
        a=0;
        c=0;
    }
    public static void main (String[] args) {
        ck nnn=new ck();
        ck nn=new ck(5,1);

        System.out.print(nnn.a+nn.c);
    }
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下吗?

Mar*_*inS 6

您声明ac静态的,所以第二次的构造函数被调用(在这里ck nn=new ck(5,1);),它覆盖值两个对象nnnnn.因此nnn.a + nn.c5 + 1 = 6