【无标题】封装类

文章讨论了在Java编程中对类的成员变量进行封装的重要性,以确保数据的合理性。通过将成员变量设为私有并提供getter和setter方法,可以控制对这些变量的访问,并在setter方法中添加逻辑判断,例如防止年龄为负数的情况。这样做增强了代码的安全性和可维护性。
摘要由CSDN通过智能技术生成

通常情况下我们可以在测试类中给成员变量赋值一些合法但不合理的数据,而程序的执行过程无法检测和提示,与我们现实生活中的实际应用不太符合,为此,我们需要对成员变量进行合理的封装,与测试。

如下示例:

public class Person{
       public String name;
       public int age;
}

当我们在另一个类中创建一个Person对象,由于Person类的变量修饰符为public,即所有类均可访问。

public class Test01
{
    public static void main(String[]args){
       Person person = new Person;
       person.name = "张三";
       person.age = -10;
       System.out.println("姓名:"+person.name+"年龄:"+person.age);
    }
}

程序运行结果为:

姓名:张三年龄:-10

年龄为负数,在现实生活中是不存在的,但程序的执行过程也无法检测,因此,我们要进行封装

public class Person{
       //封装第一步,私有化成员变量,使用private关键字修饰
       private String name;
       private int age;
       
       //提供共有的get成员方法和set成员方法
       public String getName(){
       //get 方法获取属性值
              return name;
       }
       //set 方法赋值
       public void setName(String name1){
              name = name1;
       }
        public int getAge(){
              return age;
       }
       public void setAge(int age1){
              if(age < 0){
              System.out.println("赋值失败,年龄不可能为负数");
              }else{

              age = age1;
              }
       }

}

封装完成后编写代码

public class Test01
{
    public static void main(String[]args){
       Person person = new Person;
       //person.name = "张三";
       //person.age = -10;       
       //此时这两行代码已无法使用
       String name1 = "李四";
       person.setName(name1);
       System.out.println("姓名:"+person.getName);
       int age1 = -10;
       person.setAge(age1):
       System.out.println("年龄:"+person.getAge);
    }
}

此时程序运行结果为

姓名:李四
赋值失败,年龄不可能为负数

进行封装有几个步骤:

1、私有化成员变量,用private关键字修饰

2、提供共有的get成员方法和set成员方法,在方法体中进行合理判断

3、在构造方法中调用set成员方法进行合理的判断

使用得当,可以大大提高编写代码的效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值