大家帮忙解决下java问题
我给类里面赋值的时候用MOL a=new MOL();
a.setxx("1");
我在另一个类里面取值的时候用MOL a=new MOL();
a.getxx();怎么a.getxx()=null;
------解决方案--------------------MOL a=new MOL();
a.setxx("1");
a.getxx();
不能在另外一个类里取。
------解决方案--------------------
可是我是三个类.一个类是存储一个类是赋值,一个类是取值.
应该怎么弄?谢谢
------解决方案--------------------
... 不是不能在另一个类里取。
而是 你在第二类里面用的是MOL a=new MOL();
相当于 你又从新 创建了个mol的实体,刚创建的mol实体里面什么都没有 xx里面当然什么都没有,所有你get的当然是null。
你可以在第一个类里 调用第二个类里的方法,接口要把你的a传进去,第2个类里的方法就能得到a的实体,也就能get出来了。
你也可以 在第一个类结束的时候 将a存入数据库,然后在第二类 的时候,再将其指定数据的实体拿出来,再也就能get到了
------解决方案--------------------那需要我怎么进行编写?MOL a=null;
a.set("2"); 另一个类里面也进行MOL a=null; a.get()?
------解决方案--------------------
你在赋值的时候创建了一个对象a, 然后你在另一个类里面又new了一个a,这两个a虽然名字相同但是完全不是一个对象实例,所以第二个a.getxx()是null
------解决方案--------------------每次new的时候,都是重新建立类,如果你想要用之前赋值的那个类,就不能new ,而是把之前那个类传过来。
------解决方案--------------------
怎么个传法?可否给个例子
------解决方案--------------------写个中间类,用来存储你所使用的对象,然后每次获取都获取这个单例
public class MOLPool {
private static MOL mol = new MOL();
public static MOL getMOL()
{
return mol;
}
}
------解决方案--------------------
那这个赋值怎么进行?读取?
------解决方案--------------------