【发布时间】:2016-09-04 04:34:29
【问题描述】:
我在 A 类中有我的堆栈及其相应的方法。 现在在 B 类中,我想创建一个新堆栈,调用 A 类中的方法。具体来说,我想做的是查看 A 类中堆栈的元素,然后将我喜欢的元素添加到新堆栈中在 B 班。有人可以帮帮我吗?我对此很陌生! 附:我确实想知道如何跨班级做到这一点;我可以弄清楚如何在同一个类中做到这一点,但我正在努力扩大我对跨类调用方法的理解。谢谢!
编辑: 有人问我参考的代码: newStack.push(oldStack.(StackOne).peek());
我没有这个权利,但这里是元素: StackOne 是我的第一个类的名称,我在其中创建了第一个堆栈,而 oldStack 在该类中。 我想从 StackTwo(我的第二堂课)中看看这些元素。如果我喜欢一个元素,我会将它从 oldStack 推送到 newStack(最终导致类似于我上面发布的内容,但这不起作用)。
【问题讨论】:
-
包括您在此处创建的类的代码
-
不清楚你卡在哪里了。您可以从任何其他类中调用
public方法,也可以从同一包中的子类或其他类中调用protected方法。 -
我建议阅读类与对象。此外,静态与非静态方法。您似乎还不清楚这个概念。
-
您的
StackOne类中是否有任何用于oldStack的getter 方法?我们需要查看您已经创建了哪些方法以及您使用了哪些访问修饰符。peek和push不是您编写的方法,也不是我们要求的。 -
我在 A 类中创建了自己的 peek 方法;为了练习,我从头开始创建了所有堆栈方法。看看我上面发布的内容——newStack.push(oldStack.(StackOne).peek()); ——到底哪里出了问题?我见过跨类调用的方法,其中在一个类中查看的堆栈可以推送到另一个类中的堆栈,所以我知道这不会那么困难。