JAVA代码两种写法的区别?

1. String name;
int age;
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 toString() {
return "name"+name+","+age;
}

2. String name;
int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
这两种写法有啥区别啊 帮忙求解答谢谢

第一种是把属性封装起来,通过set,get方法去给它赋值跟取值,创建对象时属性都是默认值,建议把不想给别人看的属性的默认值(默认的)改成private(私有的);
第二种是构造函数,就是创建类的时候可以直接带上属性给它赋值,其实第一种是有一个默认的构造方法的,是无参的,建议每一个实体类都带上无参的(实现了无参构造函数,不会有默认的了);
对Java编程感兴趣,可以看我主页,一起交流学习。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-16
前者没有提供带参数构造方法, 创建对象后所有属性都是默认值, 只能通过 setter 方法给属性赋值
后者有带参数构造方法, 可以在创建对象的时候直接对属性赋值本回答被提问者采纳
相似回答