【发布时间】:2013-03-14 15:08:20
【问题描述】:
问题是我有 2 节课。第一类有一个创建第二类对象的方法。是否可以在没有返回语句的情况下获取该对象?也不让它成为一个领域
例子:
//头等舱
public class First {
public First() {
}
public void aMethod(Object o) {
Second s = new Second(o);
}
}
//二等
public class Second {
public Second() {
}
}
通过单击按钮调用该方法。
编辑: 很抱歉造成混乱。但是我不想更改代码的原因是因为我正在做一个 JUnit 测试。
这两个类实际上是 jFrames,我正在尝试测试按钮。 在第一类中,该方法通过按钮调用。在该方法中,它创建了第二个 Jframe。在这个 Jframe 中,我还想测试一个按钮,这就是为什么我需要实例化的 jFrame 对象。 在 aMethod() 中,我还传递了第二个 JFrame 需要的一些参数。所以我不能单独测试它。
【问题讨论】:
-
aMethod()可以有参数吗? -
你问的问题没有真正的意义——如果你想在
First之外使用它,为什么你不想返回s?请您编辑您的问题以解释您想要实现的什么,而不是您认为应该实现的如何? -
没有返回,没有字段(所以静态或非静态变量对吗?)那么我想我能想到的唯一方法是反射,我认为这不是正确的方法......但是我不认为这真的是你想要的......
-
@cwhsu 您可以通过改变传递给方法的参数来实现(基本上是一个类,它只是
Second的包装器)。我认为这就是肯特所暗示的。但是 - 我认为这个要求没有意义,因此我觉得作者应该澄清他的意图。