一、get()方法和set()方法的作用
get()方法是用来获取指定的私有成员变量的值
set()方法是用来设置指定的私有成员变量的值
为什么要使用这样的方法来获取和设置私有成员变量的值???而不是使用:对象.成员变量=新值 的方法。
因为当成员变量使用了private修饰后,该数据成为了私有的,那么其他类是不能调用该私有成员变量的,也就不能获取和设置该私有成员变量的值了。——该机制隐藏了代码实现细节,体现了数据的封装性,保证了代码的安全,同时也提升了数据的安全性。
二、get()方法和set()方法的使用场景
当需要在其他类里面调用该类的private私有成员变量时使用。
下面举一个例子来具体化以上理论,这里设计了两个类:我的信息类、学校类;此时我要保护我自己的隐私:age年龄变量和salary工资变量,那么就要使用private修饰;
现在问题来了:学校类需要我的信息类里面的私有变量年龄;
根据访问权限private的规定:当在某一个A类中使用另外一个B类创建了一个对象后,该对象是不可以访问自己的private私有变量的,即不可以再通过使用.运算符来操作自己的成员变量了。
那么如果一定要在A类里面使用B类创建的对象来访问它自己私有成员变量,只能使用get()方法和set()方法。
public class My{
//为了保护数据,使用private修饰
private int age;
private int salary;
//给私有成员变量添加get()和set()方法
public int getAge(){//对象调用此方法来获取私有成员变量值
return age;
}
public void setSalary(int salary) {//对象调用此方法来设置私有成员变量值
this.salary = salary;
}
}
public class School{
//在此类里面使用My类创建对象my
My my = new My();
//设置对象的私有成员变量工资salary
//错误方法:不能用.运算符调用自己的私有成员变量salary
my.salary=999999;
//正确方法:使用调用set()方法设置私有成员变量salary
my.setSalary(5201314);
//获取对象的私有成员变量年龄
//错误方法:
System.out.println("年龄:"+ my.age);
//正确方法:
System.out.println("年龄:"+ my.getAge());
}