getter和setter从字面意思上应该也知道是获取和设置的意思,其作用也是差不多。这两个是类的封装中公共访问方式的概括。将之前的示例稍加改动,封装的成员变量就可以任意赋值和访问了。
示例:
package com.bxw.demo.demo02;
/**
* 本示例用于演示类的封装以及访问
* 访问方式:getter、setter
* 修饰关键字为:private
*/
public class demo02 {
public static void main(String[] args) {
// 创建一个对象
egPrivate egPrivate = new egPrivate();
// 给成员变量name赋值
egPrivate.setName("张三");
// 访问并输出成员变量name的值
System.out.println(egPrivate.getName());
// 给成员变量age赋值
egPrivate.setAge(23);
// 访问并输出成员变量age的值
System.out.println(egPrivate.getAge());
}
}
// 创建一个类
class egPrivate {
// 将成员原变量进行封装。
private String name; // 姓名
private int age; // 年龄
// 封装一个成员方法
private void A() {
System.out.println("这是一个封装的成员方法");
}
// 以下四个方法就是本类中两个成员变量的公共访问方式
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
对比发现,这些公共访问方式其实和之前的那个雏形没有本质上的区别,都是公开的成员方法,而被封装的成员方法也只能通过公开的成员方法调用之后才能间接的被调用。这样对于代码的实现细节也得到了很好的隐藏。