概念:将属性封装到对象的内部,通过get/set方法去操作属性
步骤:
a.私有化属性
b.添加get(获取)/set(设置)方法好处:
a.将属性封装到对象的内部,外界不能直接操作属性
b.必须通过get/set方法去操作属性
c.可以在get/set方法中做额外的功能
d.经验:属性都必须封装实例
package com.qf.test04;
public class Test01 {
/**
* 需求:模拟银行用户操作金额的过程
* 分析:怎么操作金额?
* 1.设置金额
* 2.获取金额
*
* 经验:操作属性 --> 设置和获取
*
*/
public static void main(String[] args) {
User user = new User("1445584980", "123123", 2000);
//获取金额 -- 2000 --> 获取金额
//减200 --- 1800
//将1800赋值给金额属性 --> 设置金额
// user.money = user.money - 200;
// System.out.println(user.money);//1800
user.setMoney(user.getMoney() - 200);
System.out.println(user.getMoney());
}
}
package com.qf.test04;
import java.time.LocalDateTime;
public class User {
private String username;
private String password;
private double money;
public User() {
}
public User(String username, String password, double money) {
this.username = username;
this.password = password;
this.money = money;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void setMoney(double money){
//额外的功能
double num = money - this.money;
System.out.println(LocalDateTime.now() + "设置了金额:" + num);
this.money = money;
}
public double getMoney(){
return this.money;
}
}