java代码中一个小小的问题

图片说明

            如图所示此类创建完后N=0....为什么会为0。。。我在类中并没有初始化啊。。然后也没有过报错?求大神解释下。

我只说我知道的,希望对你有帮助:
静态变量和全局变量如果没有初始化,那么它的值默认是0。

int属于8大基本数据类型,初始默认值就是0,如果是引用数据类型,则为null;这就是为什么又是对象没有初始化,汇报NullPointerException的异常

兄弟 你可以在FixedCapacityStackOfString(int cap){
N=cap;//将cap的值付给N
a=new String[cap];//或a=new String[N];
}

图片说明