gpt4 book ai didi

Java栈的继承

转载 作者:行者123 更新时间:2023-12-01 12:45:31 24 4
gpt4 key购买 nike

我正在尝试扩展堆栈类,但我想知道我是否要这样做:

class test extends Stack<Integer> 
{
public boolean add(Integer i)
{
if (i != 0)
{
super.add(i);
}
}
}

该代码是否也会更改它,以便使用 test.push() 也将使用上面的代码?编辑:另外,如果我没有定义特定的构造函数,它会调用父级的默认构造函数吗?

最佳答案

Would that code also change it so using test.push() would also use the above code?

我不这么认为,因为我不认为 java.util.Stack 中的 push 方法调用 add 方法。 push 方法如下所示:

    public E push(E item) {
addElement(item);

return item;
}

希望对您有所帮助。

编辑:

回答第二个问题...

Also, if I don't define a specific constructor, does it call the parent's default constructor?

如果你没有声明构造函数,那么你会得到一个默认的无参数构造函数,它会调用父类中默认的无参数构造函数。以下内容与此相同...

public class One extends Stack {
}

public class Two extends Stack {
public Two() {
super();
}
}

关于Java栈的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com