这是我的代码
package Entities;
public class Users {
String user_name;
String user_type;
public void setName(String un, String type) {
user_name = un;
user_type = type;
}
public String getName(){
return user_name;
}
public String getType(){
return user_type;
}
}
实际上这是一个基本的事情并且很遗憾地问你们..在我的登录界面中我设置了用户名和用户类型
Entities.Users eu = new Entities.Users();
eu.setName(un, unType);
然后在主页的其他地方我想要这个用户名和用户类型,我就像这样调用getter
Entities.Users eu = new Entities.Users();
System.out.println(eu.getName());
System.out.println(eu.getType());
但它总是返回NULL !!!!!!为什么会这样..
答案 0 :(得分:2)
问题是您在打印前正在创建user
类的新对象:
Entities.Users eu = new Entities.Users();
System.out.println(eu.getName());
System.out.println(eu.getType());
这是eu
的新引用,因此eu
,
String user_name;
String user_type;
是NULL
。
您应该执行以下操作:
Entities.Users eu = new Entities.Users();
eu.setName(un, unType);
System.out.println(eu.getName());
System.out.println(eu.getType());
但请确保un
和unType
不是NULL
。
编辑:您可以执行以下操作:
Entities.Users user_1 = new Entities.Users();
Entities.Users user_2 = new Entities.Users();
user_1.setName("user_1", "user_type_1");
user_2.setName("user_2", "user_type_2");
System.out.println(user_1.getName()); // user_1
System.out.println(user_2.getType()); // user_type_2
答案 1 :(得分:0)
正在发生的是您正在创建Entities.Users
类的新实例,并正确设置名称。但是,当您尝试稍后在类中访问它时,您将创建一个不了解第一个实例的新实例。试试这样的事情
public class MyClass {
private Entities.Users eu = new Entities.Users();
private void myMethod() {
//not sure where these two params come from
eu.setName(un, unType);
}
private void myGetMethod() {
System.out.println(eu.getName());
System.out.println(eu.getType());
}
}
答案 2 :(得分:0)
你的代码应该是这样的..
Entities.Users eu = new Entities.Users();
eu.setName(un, unType);
//where un and unType should not be null
//because you did not expecting null
//Example:
//eu.setName("Some Name", "Some Type");
System.out.println(eu.getName());
System.out.println(eu.getType());
答案 3 :(得分:0)
这是因为您正在创建Entities.Users的新实例。
Entities.Users eu = new Entities.Users();
创建一个新实例,此对象将与其他Users对象不同。
因此,如果要使用同一个对象,则需要将创建的对象传递给第二个位置。 或者将它保存在某个地方(db,file等)并从第二位调用持久化对象。