【问题标题】:Gettin an object from one class to another?将对象从一个类传递到另一个类?
【发布时间】:2016-09-06 07:37:01
【问题描述】:

需要将信息从一个类带到另一个类,我需要在getResultado中返回fin的最终值。

public class Setter {
 String fin = "";
public  Setter(String result){
fin = result;
}
public String getResultado(String inicio){
return fin;
}
}

这是我需要实现 fin 的另一个类:

public Final(){
Setter t = getResultado();
    System.out.println(t);

【问题讨论】:

  • new Setter("XX").getResultado()。你需要一些 Setter 实例
  • 是的,就像@sidgate 所说,您需要创建对象的实例/初始化您的引用。现在,你只有一个没有值的指针。如果我没记错的话,你应该得到NullPointerException
  • 但这会改变我的结果,因为我已经与另一个班级建立了 fin 的价值。
  • @RudolfFanchini 阅读了我更新的答案,这将解释它。

标签: java class object return


【解决方案1】:

问题很简单: 您永远不会初始化 Setter 类的实例。您创建了一个指向 Setter 对象的引用/指针,但它的 null 并且您试图调用包含在此类中的方法。所以,你可能应该得到一个NullPointerException。解决这个问题很简单,只需

初始化对象:

Setter t = new Setter("my string");

然后通过您的 Setter 实例调用该方法:

t.getResultado();

编辑: 如果您不想在创建对象 Setter 时为变量 fin 赋值,只需在第一个构造函数下方添加第二个构造函数,如下所示:

public Setter() {
   //do whatever, maybe call the getResultado() method right here?
}

它将允许您在没有任何参数或更改变量值的情况下创建 Setter 对象。

【讨论】:

  • 但这会改变我的结果,对吧?我已经有另一个类给 fin 一个值
  • 是的,你想要做的是创建第二个不带参数的构造函数。
  • 所以我把它改成这样: public class Setter { String fin = "";公共设置器(字符串结果){ fin = 结果; } public void Setter(){ } public String getResultado(String inicio){ return fin; } }
  • @RudolfFanchini 是的,除了它不应该说 public void Setter(){},只是 public Setter() {},它不是返回值的方法,它是对象的构造函数。我希望这会有所帮助!
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 2018-10-30
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
相关资源
最近更新 更多