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的作用!