private关键字实现封装

1、为什么要使用private?
OOP(面向对象语言)具有继承、多态和封装性
使用private可以降低程序的复杂程度,实现类的封装;
2、举例:
(1)封装前:

class Teacher {
  public String name;
  public  int salary;
  public int age;
}
public class Test {
    public static void main(String[] args) {
      Teacher tc = new Teacher();
      tc.name = "李三";
      tc.salary = 5000;
      tc.age = 30;
    }
}

这是我们常见的定义一个类的方法,如果我们想对成员变量做改动,那么是不是还要修改main()方法里面,这样如果写一个项目的话,会造成很大的浪费(主要是程序维护),此时就可以用private去访问修饰限定这些成员变量。问题又来了,如果用private修饰的话,main()就会报错,这是就需要借助set ()和 get()方法!
(2)封装后:

class Teacher {
  private String name;
  private  int salary;
  private int age;
  //get和set方法属于接口,不易被修改
  public void setName(String name) {
      this.name = name;//这里的this下篇博客会讲到
  }
  public String getName() {
      return name;
  }
  public void setSalary(int salary) {
      this.salary = salary;
  }
  public int getSalary() {
      return salary;
  }
  public  void setAge(int age) {
      this.age = age;
  }
  public int getAge() {
      return age;
  }
}
public class Test {
    public static void main(String[] args) {
      Teacher tc = new Teacher();
      //调用set方法赋值
      tc.setName("李三");
      tc.setSalary(5000);
      tc.setAge(30);
      //调用get方法进行输出
        System.out.println("年龄为:" + tc.getAge());
        System.out.println("姓名为:" + tc.getName());
        System.out.println("工资为:" + tc.getSalary());
    }
}

可能会觉得set和get方法很难书写,这时我们就可以使用IDEA里面的快捷键ctrl+insert操作,得到我们的set方法和get方法;这样的话,我们写项目时要修改成员变量的值,就只需要在get和set方法中修改就可以了。this不明白没关系,下篇博客告诉你this的作用!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值