setter getter 方法:间接访问private修饰的成员变量
(注:为了阅读性,把getter setter方法写到代码的最后。
而构造方法就写到属性下面)
间接访问可以对传过来的值进行处理
public class Person {
private String name;
private String addr;
public int money;
public Person(){
}
//set方法
public void setName(String name) {
/*if (name.length() == 8){
this.name = name;
}*/
this.name = name;
}
//get方法
public String getName(){
//return this.name;
return name;
}
//toString方法 当使用print输出一个对象时,就会去这个对象内部查找toString方法
//如果没有实现 那么会从父类Object里面去查找toString的实现
//Object里面默认使用 类名@hashCode(地址)
//重写toString方法是为了在调试的时候快速获取这个对象的信息
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", addr='" + addr + '\'' +
", money=" + money +
'}';
}//Ctrl + Enter可以快速创建toString方法。
}
public class MyClass {
public static void main(String[] args) {
Person p = new Person();
//直接访问
p.money = 200;
//间接访问
P.setName("jack");
System.out.println("I have "+p.money+" money");
System.out.println("My name is "+p.getName());
System.out.println(p);//像这样打印出的是地址
}
}