【问题标题】:Declared object cannot be resolved声明的对象无法解析
【发布时间】:2013-04-23 13:03:02
【问题描述】:

我想构建一个 Moneytransfer GUI,变量访问有很多错误我想纠正它,将 Transfer 中的变量设为私有并为它们使用 get-set 方法。这是我的 2 个类 MoneyTR_GUI (@987654321 @ ) 和 Transfer (http://codepad.org/bVVqDIOv ) 当我想修复第一个错误时,我创建了一个对象,这样我就可以使用 set 方法了

Transfer TR1 = new Transfer();

第 74 行,这给了我一个警告,你的变量没有被使用...... 我想在第 121 行使用它,但它告诉 TR1 无法解析......但它识别 TR2 上面声明的一行......所以我认为因为它们在不同的代码块中识别失败。虽然所有错误代码编译时提供一个 GUI,您可以自己查看,现在我想在单击按钮 Transfer 时创建一个 Transfer 对象,然后当然要对该对象进行大量计算,我该如何实现?或者这是不可能的我将使用静态变量?我会很感激你的时间!

【问题讨论】:

  • TR1 在匿名类方法中声明。这就是它的范围。你不能从外面访问它。

标签: java object user-interface scope


【解决方案1】:

你有一个匿名的 ActionListener 方法

public void actionPerformed(ActionEvent arg0) {
    Transfer TR1 = new Transfer();
    transferday_nroftransfer.setEditable(false);
}

这里TR1 被声明和初始化但从未使用过(所以你会收到警告)。它具有方法范围。当此方法被调用并返回时,引用TR1 不再存在。如果你想保留对它的引用,你需要在你的类中添加一个实例变量。

【讨论】:

  • "你会想要在你的类中添加一个实例变量。" class= MoneyTR_GUI?因为在类 Transfer 中 transfer_id 变量已经存在...
  • @Anarkie 如果您在MoneyTR_GUI 类中需要它,那么您需要该类中的实例变量(或多个)。
  • 那我应该把这两个类结合起来做一个吗?
  • @Anarkie 你真的不应该。在您的班级MoneyTR_GUI 中,您有一个字段private JFrame frame;。以同样的方式,添加一个字段private Transfer TR1;。此外,java 命名约定规定字段应以小写字母开头,并且应该更具描述性。试试private Transfer transfer1;
猜你喜欢
  • 2022-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
相关资源
最近更新 更多