设置和获取方法不起作用

时间:2015-03-06 08:07:28

标签: java get set

我有一个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方法。功能

1 个答案:

答案 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);

希望它会有所帮助 非常感谢。