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;}}
对比发现,这些公共访问方式其实和之前的那个雏形没有本质上的区别,都是公开的成员方法,而被封装的成员方法也只能通过公开的成员方法调用之后才能间接的被调用。这样对于代码的实现细节也得到了很好的隐藏。
