如何从 main 设置 setter 并从另一个获取 getter Class Java 7
How to set Setters from main and get the Getters from Another Class Java 7
我有 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();
}
}
In my main class, I set the setters. And I am looking for a way to access these values from AnotherClass
替换
System.out.println(copyOfSG.printout());
和
copyOfSG.printout(sg);
和你的printout()
方法
public void printout(GettersAndSetters gs1) {
//No need of creating GettersAndSetters object
System.out.println("Age: " + gs1.getAge());
System.out.println("Name: " + gs1.getName());
}
apache library
中有一个classBeanUtil
。它会帮助你。此 cass 设置并获取属性值。
BeanUtil.setProperty(<obje_name>, <field_name>, <field-value>);
BeanUtil.getProperty(<object_name>, <field_name>);
发生这种情况是因为您在 Main
和 AnotherClass
中创建了两个独立的 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);
}
}
我有 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();
}
}
In my main class, I set the setters. And I am looking for a way to access these values from AnotherClass
替换
System.out.println(copyOfSG.printout());
和
copyOfSG.printout(sg);
和你的printout()
方法
public void printout(GettersAndSetters gs1) {
//No need of creating GettersAndSetters object
System.out.println("Age: " + gs1.getAge());
System.out.println("Name: " + gs1.getName());
}
apache library
中有一个classBeanUtil
。它会帮助你。此 cass 设置并获取属性值。
BeanUtil.setProperty(<obje_name>, <field_name>, <field-value>);
BeanUtil.getProperty(<object_name>, <field_name>);
发生这种情况是因为您在 Main
和 AnotherClass
中创建了两个独立的 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);
}
}