构造函数初始化中的大小

时间:2017-05-30 11:37:28

标签: java constructor

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?

2 个答案:

答案 0 :(得分:1)

在实例初始化程序中调用您的2 System.out.println打印0。这些初始值设定项在调用 之前称为

您可以在此处了解详情:Static initializer in Java

您的完整输出必须

0
0
Constructor created3

答案 1 :(得分:0)

实例初始值设定项在构造函数之前执行..在您的情况下,您在构造函数中给出了大小值,在此之前它是零。

reference