大家帮忙解决下java问题我给类里面赋值的时候用MOL anew MOL()a.setxx(1)我在另一个类里面取值的时候
大家帮忙解决下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;
}
}
[解决办法]那这个赋值怎么进行?读取?
[解决办法]
MOLPool.getMOL().setA(...);
MOLPool.getMOL().getA();
[解决办法]你在赋值的时候,你就要想好,什么时候用这个值,一般都在一个java文件里面,最简单的方法,就是在这个类建立一个static变量,赋值后,在这个类的内部,什么时候都可以取。
[解决办法]我在另一个类里面取值的时候用MOL a=new MOL();
a.getxx();怎么a.getxx()=null;
他就是相当于重新创建了一个对象,两个不同的对象
[解决办法]简单写了个,你看是你需要的么。
import java.util.Scanner;
public class TestTop {
public static void main(String[] args) {
// TODO Auto-generated method stub
// TestTop test=new TestTop();
Tks t = new Tks (); //创建变量所在类的对象.
/*
* 下面是直接赋值.
*/
//t.setName("张武");
//t.setAge(20);
/*
* ---------分隔线
* 如果你要从控制台输入值,请使用下面的代码.
Scanner sc = new Scanner(System.in);//Scanner是JDK提供的从键盘录入信息的类.
System.out.println("请输入姓名:");
t.setName(sc.next());//录入姓名
System.out.println("请输入年龄:");
t.setAge(sc.nextInt());
*/
Tksdf tdf = new Tksdf();
tdf.show(t.getName(), t.getAge());
}
}
class Tks {//存储变量
private String name ;
private int age;
public void setName (String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge (int age){
this.age=age;
}
public int getAge(){
return age;
}
}
class Tksdf {//获取
public void show (String string,int i){
System.out.println("您输入姓名的是:"+string+">>>年龄是:"+i);
}
}
[解决办法]该属性是属于对象的,不是属于类的。如果对象都变了,其对应的属性当然就为Null喽。。不知道朋友你想解决什么问题才碰到这样的疑惑
[解决办法]写个中间类,用来储存,另外两个类都用这个类的实例就可以了