Java 模型类中的Getter和Setter方法
我对这个概念还不熟悉,我需要稍微了解一下在以下情况下getter和setter方法的使用 我有以下三节课 1) 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
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();在主要方法中。我忘了把它粘贴到这里了-现在你不显示你的数据了?谢谢,这是个问题