如何从main设置setter并从另一个类java7获取getter

如何从main设置setter并从另一个类java7获取getter,java,getter-setter,Java,Getter Setter,我有三节课;1个主要2个setters和getter 3个其他类。 在我的主课上,我设置二传手。我正在寻找从另一个类访问这些值的方法。现在我得到一个空值,这是由于我创建的新实例。那么我如何才能绕过它,如何检索我在main中设置的值 public class Main{ public static void main(String args[]){ GettersAndSetters sg = new GettersAndSetters(); AnotherClas

我有三节课;1个主要2个setters和getter 3个其他类。 在我的主课上,我设置二传手。我正在寻找从另一个类访问这些值的方法。现在我得到一个空值,这是由于我创建的新实例。那么我如何才能绕过它,如何检索我在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
settersandgetter:

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();

    }

}
在我的主课上,我设置二传手。我正在寻找从另一个类访问这些值的方法

替换

System.out.println(copyOfSG.printout());

以及您的打印输出方法

在我的主课上,我设置二传手。我正在寻找从另一个类访问这些值的方法

替换

System.out.println(copyOfSG.printout());

以及您的打印输出方法

apache库中有一个类BeanUtil。它将为此提供帮助。此cass设置并获取属性值

BeanUtil.setProperty(<obje_name>, <field_name>, <field-value>);


BeanUtil.getProperty(<object_name>, <field_name>);
apache库中有一个类BeanUtil。它将为此提供帮助。此cass设置并获取属性值

BeanUtil.setProperty(<obje_name>, <field_name>, <field-value>);


BeanUtil.getProperty(<object_name>, <field_name>);

这是因为您在Main和另一个类中创建了两个独立的gettersandsetter实例。看:

在第一个实例中设置属性,但尝试从第二个实例中读取。 要解决这个问题,只需按照Satya的建议将第一个实例从Main传递到另一个类中的方法

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);
   }
}

这是因为您在Main和另一个类中创建了两个独立的gettersandsetter实例。看:

在第一个实例中设置属性,但尝试从第二个实例中读取。 要解决这个问题,只需按照Satya的建议将第一个实例从Main传递到另一个类中的方法

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);
   }
}

System.out.printlncopyOfSG.printout;?错误..System.out.printlncopyOfSG.printout;?错误..你能参考我的代码修改你的答案吗。我做了修改,但我左右都有错误。@Moe除了解决方案外,还要仔细了解Satya做了什么。您被困在这一事实表明您没有掌握Java对象是如何工作的;非常感谢Satya在这方面的帮助!看来我还需要消化新的做事方式。再次感谢!你能参考我的代码修改一下你的答案吗。我做了修改,但我左右都有错误。@Moe除了解决方案外,还要仔细了解Satya做了什么。您被困在这一事实表明您没有掌握Java对象是如何工作的;非常感谢Satya在这方面的帮助!看来我还需要消化新的做事方式。再次感谢!谢谢你的详细解释。但是现在我得到了这个语句System.out.printlncopyOfSG.printoutsg不允许的void类型@莫,对不起,那是我的错。您已经调用了just printout方法,而没有System.out.println。我更改了答案中的代码。对不起,不准确。谢谢你的详细解释。但是现在我得到了这个语句System.out.printlncopyOfSG.printoutsg不允许的void类型@莫,对不起,那是我的错。您已经调用了just printout方法,而没有System.out.println。我更改了答案中的代码。对不起,不准确。