我有一个public static void
方法,可以从某个来源读取信息。然后我使用这些set方法来保存这些信息。 get / set方法在一些单独的public
类中声明。 get方法在我已定义set方法的类中工作正常,但它在任何其他类/方法中都不起作用。我得到的值null
。我不知道为什么......有人可以帮助我吗?
public static void InformationFinder() {
String identificationID = null;
String flag = null;
String nickname = null;
// part to read the informations (saved in the variables above)
UserInfo user = new UserInfo();
user.setIdentificationID(identificationID);
user.setVorname(flag);
user.setNachname(nickname);
// shows me up the correct ID
System.out.println("Tell me the ID: " + user.getIdentificationID());
}
public class UserInfo {
public String identificationID;
public String flag;
public String nickname;
public UserInfo () {
public String getIdentificationID() {
return Nachname;
}
public String getFlag() {
return flag;
}
public String getNickname() {
return nickname;
}
// set Methoden
public void setIdentificationID(String identID) {
this.identificationID = identID;
}
public void setFlag(String flag) {
this.flag= flag;
}
public void setNickname (String nickname) {
this.nickname = nickname;
}
}
public static void main(String[] args) {
UserInfo user = new UserInfo();
// shows me only null as result
System.out.println(UserInfo.getIdentificationID());
}
我知道问题可能是因为对象的第二次实例化。但我发现没有其他方法可以在' main()'中使用get方法。功能
答案 0 :(得分:0)
我认为问题出现在代码的以下部分(在main()方法中) -
UserInfo user = new UserInfo();
// shows me only null as result
System.out.println(UserInfo.getIdentificationID());
在main方法的上述代码中,您将创建一个新的UserInfo()
。但是set方法不适用于此处创建的user
。此方法适用于其他对象。对同一个对象使用set方法。
您在UserInfo
函数中创建的public static void InformationFinder()
对象与UserInfo
方法中创建的main()
对象不同。在user
方法中设置一些InformationFinder()
属性,如 -
user.setIdentificationID(identificationID);
user.setVorname(flag);
user.setNachname(nickname);
在main()方法中,您还必须添加这些setter方法 -
user.setIdentificationID(identificationID);
user.setVorname(flag);
user.setNachname(nickname);
希望它会有所帮助 非常感谢。