class Stack
{
int size;
Stack(int size1)
{
size=size1;
// System.out.println("Constructor created"+size);//prints 3
}
int top1=-1;
{System.out.println(size);}//prints 0
int top2=size;
{System.out.println(size);}//prints 0
int []stack=new int[size];
}
为什么在这种情况下大小为0?
答案 0 :(得分:1)
在实例初始化程序中调用您的2 System.out.println打印0。这些初始值设定项在调用 之前称为。
您可以在此处了解详情:Static initializer in Java
您的完整输出必须
0
0
Constructor created3
答案 1 :(得分:0)
实例初始值设定项在构造函数之前执行..在您的情况下,您在构造函数中给出了大小值,在此之前它是零。