Java学习总结地二十二天Java试讲第二讲准备(一)

封装

目标

理解封装的概念

掌握private关键字

 

为什么需要封装?

编写一个类,代表3G教员,要求:

具有属性:姓名、年龄

具有行为:自我介绍

3G教员的最小年龄要求:22岁

public class Teacher1 {

  public Stringname; // 教员姓名

  public int age;// 年龄

  /**

   * 返回自我介绍的内容

   */

  public String introduction() {

    return "大家好!我是" +name + ",我今年" + age + "岁";

  }

}

编写一个测试类,要求:

实例化一个教员对象,并对其初始化

在控制台输出该教员的自我介绍

public class Teacher1Test {

  public static void main(String[] args) {

    Teacher1 teacher = new Teacher1();

    teacher.name ="李芳";

    teacher.age = 10;

    System.out.println(teacher.introduction());

  }

}

要满足教员的最小年龄要求,可以通过对属性的封装来实现

 

什么是封装?

封装,就是隐藏实现细节

将属性私有化,提供公有方法访问私有属性

通过这些公有方法访问私有属性

 

public class Teacher2 {

  private Stringname; // 教员姓名

  // 返回教员姓名

  public String getName() {

    return name;

  }

  // 设定教员姓名

  public void setName(String name) {

    this.name = name;

  }

}

通过setter、getter方法访问name属性:

Teacher2  teacher = new Teacher2();

teacher.setName ("李芳");

String tName = teacher.getName();

 

封装的实现:

1、修改属性的可见性来限制对属性的访问

2、为每个属性创建一对赋值(setter)方法和取值(getter) 方法,用于对这些属性的访问

3、在setter和getter方法中,加入对属性的存取限制

public class Teacher3 {

  private Stringname; // 教员姓名

  private 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) {

    if (age < 22) {

      System.out.println("错误!最小年龄应为22岁!");

      this.age = 22;// 如果不符合年龄要求,则赋予默认值

    } else {

      this.age = age;

    }

  }

}

测试类通过调用setter方法,为对象的各个属性赋值:

public class Teacher3Test {

  public static void main(String[] args) {

    Teacher3 teacher = new Teacher3();

    teacher.setName("李芳");

    teacher.setAge(10);

    System.out.println(teacher.introduction());

  }

}

输出:错误!最小年龄应为22岁!

大家好!我是李芳,我今年22岁

 

使用封装,增加了数据访问限制,增强了程序的可维护性。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值