用构造方法赋值和用getter()和setter()方法赋值区别在哪?

用构造方法赋值和用getter()和setter()方法赋值区别在哪?

既然已经用getter和setter方法封装了,为什么还通常使用构造方法赋值呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小黑 2022-07-26 10:06:01

同学你好,在有参构造方法中建议同学用setter方法对属性进行赋值,如果同学在setter方法中做了对属性赋值的判断,在有参构造方法中需要调用setter方法对属性进行赋值。

祝学习愉快!

  • 提问者 慕少6425323 #1

    有代码例子吗? 我这边想看看.

    2022-07-27 16:21:46
  • 好帮手慕小黑 回复 提问者 慕少6425323 #2

    同学你好,示例如下:

    public class Employee {
       private String name;// 姓名
       private String id;// 学号
       private int age;// 年龄
       private String sex;// 性别
    
       public Employee() {
    
       }
    
       public Employee(String id, String name, int age, String sex) {
          this.setId(id);
          this.setAge(age);
          this.setName(name);
          this.setSex(sex);
       }
    
       public String getName() {
          return name;
       }
    
       public void setName(String name) {
          this.name = name;
       }
    
       public int getAge() {
          return age;
       }
    
       // 限定年龄只能是18--65之间,反之则设置默认为18岁
       public void setAge(int age) {
          if (age >= 18 && age <= 65)
             this.age = age;
          else
             this.age = 18;
       }
    
       public String getSex() {
          return sex;
       }
    
       public void setSex(String sex) {
          this.sex = sex;
       }
    
       public String getId() {
          return id;
       }
    
       public void setId(String id) {
          this.id = id;
       }
    }

    对年龄进行判断,在有参构造中调用setAge方法。

    祝学习愉快!

    2022-07-27 16:58:37
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师