Java 模型类中的Getter和Setter方法

Java 模型类中的Getter和Setter方法,java,getter-setter,Java,Getter Setter,我对这个概念还不熟悉,我需要稍微了解一下在以下情况下getter和setter方法的使用 我有以下三节课 1) java,其中有getter和setter方法 public class ModelClass { private String name; private int age; private String address; public ModelClass(){ } public String getName() { return name; } public voi

我对这个概念还不熟悉,我需要稍微了解一下在以下情况下getter和setter方法的使用

我有以下三节课

1) java,其中有getter和setter方法

public class ModelClass {

private String name;
private int age;
private String address;

public ModelClass(){

}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}

}
2) java中,我通过setter方法设置了特定的员工信息

  public class StaffInformation {

public StaffInformation(){

    ModelClass mc = new ModelClass();
    mc.setName("Khan");
    mc.setAge(30);
    mc.setAddress("NY");

}

 }
3) java,这里我想通过ModelClass.java中的getter方法打印stafformation。 像这样的

    public class Main {

public static void main(String[] args) {
            StaffInformation staff = new StaffInformation();
        ModelClass mc = new ModelClass(); //here is problem
    System.out.println(mc.getAge());
    System.out.println(mc.getName());
    System.out.println(mc.getAddress());

}

  }

如何摆脱这一点…谢谢

根据您显示的代码,您设置
姓名
年龄
、或
地址的唯一位置是在构造函数中的
staffinfo
。但是您也从不实例化
StaffInformation
,因此
模型
中的所有字段都保留为其默认值--
0
null
null

代码有问题您正在创建多个模型对象,请尝试此代码

   public StaffInformation(){
           ModelClass mc = new ModelClass();
            mc.setName("Khan");
            mc.setAge(30);
            mc.setAddress("NY");
            Main.displayData(mc);

        }
这是你的主课

  class Main{
    public static displayData(ModelClass mc)
    {
        System.out.println(mc.getAge());
        System.out.println(mc.getName());
        System.out.println(mc.getAddress());

    }
    public static void main(String[] args) {
    StaffInformation sc=new StaffInformation();
    }
    }

StaffInformation正在创建ModelClass,但未使其可见。 将StaffInformation更改为

public class StaffInformation {

    public StaffInformation(){
    }

    public ModelClass createModel() {
        ModelClass mc = new ModelClass();
        mc.setName("Khan");
        mc.setAge(30);
        mc.setAddress("NY");
        return mc;
    }

}
并将main更改为使用创建的ModelClass:

class Main{
    public static void displayData(ModelClass mc)
    {
        System.out.println(mc.getAge());
        System.out.println(mc.getName());
        System.out.println(mc.getAddress());

    }

    public static void main(String[] args) {
        StaffInformation sc= new StaffInformation();
        ModelClass mc = sc.createModel();
        Main.displayData(mc);
    }
}

理想情况下,你希望能够说mc.Age=123;int值=mc.年龄;“get”和“set”是实现这一点的java专用糖。您能显示编译器日志吗?您永远不会使用
StaffInformation
。您如何期望这些值不是默认值?我已经编辑了我的问题,我使用了StaffInformation staff=new StaffInformation();我把它贴在这里如果这是你所有的代码,我不明白你期望它如何工作。如果还有更多,请发布。另外,statfformation()扩展了ModelClas()。我已经编辑了我的问题,我使用了StaffInformation staff=new StaffInformation();在主要方法中。我忘了把它粘贴到这里了-现在你不显示你的数据了?谢谢,这是个问题