为什么我必须在堆栈中将顶部初始化为-1两次?

问题描述 投票:1回答:2

我目前正在学习堆栈,有一件事我不明白。我必须创建两个构造函数。我不明白的是,当我的程序已经堆积了一些元素时,为什么我必须将第二个构造函数的顶部设置为-1?谢谢

public stack () { 
    Array = new Object [MAX_ELEMENTS];
    top = -1; 
}

public stack (int elements) { 
    Array = new Object [elements]; 
    top = -1; 
}
java stack
2个回答
1
投票

为什么我必须为我的第二个构造函数将顶部设置为-1

一般情况下,您不会这样做,但是在这种情况下您会这样做,因为有两个不相互调用的独立构造函数。有几个更好的解决方案:

  1. 初始化qazxsw poi内联,而不是在构造函数中: qazxsw poi
  2. 连接构造函数: top
  3. 都。

当我的程序已经堆积了一些元素?

不,没有。它只是创建了一个你指定大小的数组。


0
投票

除了另一个答案,您还可以使用实例初始化程序:

int top = -1;

无论构造函数用户如何,都将调用它。

© www.soinside.com 2019 - 2024. All rights reserved.