gpt4 book ai didi

java - 如何从 main 设置 Setters 并从另一个类 Java 7 获取 Getters

转载 作者:行者123 更新时间:2023-11-29 07:36:26 25 4
gpt4 key购买 nike

我有 3 个类(class); 1) Main 2) SettersAndGetters 3) AnotherClass。在我的主要类(class)中,我设置了二传手。我正在寻找一种从 AnotherClass 访问这些值的方法。现在我得到一个空值,这是由于我创建的新实例。那么我该如何解决这个问题,如何检索我在 main 中设置的值。

public class Main{

public static void main(String args[]){
GettersAndSetters sg = new GettersAndSetters();
AnotherClass copyOfSG = new AnotherClass();

sg.setName("Mo");
sg.setAge(20);
sg.setIdNum("77777");

System.out.print("Name : " + sg.getName() + " Age : " + sg.getAge()+"\n");
System.out.println(copyOfSG.printout());
//In here I am trying to print the value that is
//in my 3rd class "AnotherClass" but i am getting null.

}
}

输出:

Name : Mo Age : 20
Age: 0
Name: null

SettersAndGetters:

public class GettersAndSetters{
private String name;
private String idNum;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}

public String getIdNum(){
return idNum;
}

public void setAge( int newAge){

age = newAge;
}

public void setName(String newName){
name = newName;
}

public void setIdNum( String newId){
idNum = newId;
}
}

另一个类:

public class AnotherClass {

public void printout() {
GettersAndSetters gs1 = new GettersAndSetters();

System.out.println("Age: " + gs1.getAge());
System.out.println("Name: " + gs1.getName());

System.out.println();

}

}

最佳答案

这是因为您在 MainAnotherClass 中创建了两个独立的 GettersAndSetters 实例。看:

   public static void main(String args[]){

GettersAndSetters sg = new GettersAndSetters(); //first instance
AnotherClass copyOfSG = new AnotherClass();

...
}

public class AnotherClass {

public void printout() {
GettersAndSetters gs1 = new GettersAndSetters(); //second instance
...
}
}

并且您在第一个 实例中设置属性,但试图从第二个 读取它。要解决这个问题,只需按照 Satya 的建议将第一个实例从 Main 传递到 AnotherClass 中的方法即可。

public class AnotherClass {

public void printout(GettersAndSetters sg) {
System.out.println("Age: " + sg.getAge());
System.out.println("Name: " + sg.getName());
...
}
}

然后用下一种方式调用它:

public class Main{

public static void main(String args[]){
GettersAndSetters sg = new GettersAndSetters();
AnotherClass copyOfSG = new AnotherClass();

...

copyOfSG.printout(sg);
}
}

关于java - 如何从 main 设置 Setters 并从另一个类 Java 7 获取 Getters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com