getName 即为 getter 方法, 表示获取这个成员的值.
setName 即为 setter 方法, 表示设置这个成员的值.
当set方法的形参名字和类中的成员属性的名字一样的时候,如果不使用this, 相当于自赋值. this 表示当前实例
的引用.
不是所有的字段都一定要提供 setter / getter 方法, 而是要根据实际情况决定提供哪种方法.
在 IDEA 中可以使用 alt + insert (或者 alt + F12) 快速生成 setter / getter 方法. 在 VSCode 中可以使用鼠标右键
菜单 -> 源代码操作 中自动生成 setter / getter 方法.
class Person{
private int age;
private String name;//封装,封装之后如果想要获取或修改,必须通过getter和setter方法执行
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;
}//getter和setter方法
public void show(){
System.out.println("我叫"+name+",今年"+age+"岁");
}
}
public class TestDemo {
public static void main(String[] args) {
Person person=new Person();
//main方法里也要做出相应改变
person.setName("caocao");//先调用setName,并把变量设为caocao
String name = person.getName();//然后调用getName,不设置变量,并把调用的getName赋给String name
System.out.println(name);//打印name
person.setAge(20);
int age=person.getAge();
System.out.println(age);
person.show();
}
}