为了讲明白继承和super、this关键字,群主发了20块钱群红包
摘要:以群主发红包为例,带你深入了解继承和super、this关键字。
本文分享自华为云社区《群主发红包带你深入了解继承和super、this关键字》,作者:共饮一杯无 。
需求
群主发随机红包或者普通红包。某群有多名成员,群主给成员发普通红包。
随机红包规则:
- 群主的一笔金额,从群主余额中扣除,随机分成n等份,让成员领取。
- 成员领取红包后,保存到成员余额中。
普通红包的规则:
- 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取。
- 成员领取红包后,保存到成员余额中。
案例分析
案例分析,可以得出如下继承关系:

案例代码实现
定义用户类
/**
* 用户类
* @author zjq
*/
public class User {
/**
* 姓名
*/
private String name;
/**
* 余额,也就是当前用户拥有的钱数
*/
private Integer money;
public User() {
}
public User(String name, Integer money) {
this.name = name;
this.money = money;
}
// 展示一下当前用户有多少钱
public void show() {
System.out.println("我是" + name + ",我有多少钱:" + this.fenToYuan(String.valueOf(money))+"元");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getMoney() {
return money;
}
public void setMoney(Integer money) {
this.money = money;
}
/**
* 分转元
* @param amount
* @return
*/
public String fenToYuan(String amount){
NumberFormat format = NumberFormat.getInstance();
try{
Number number = format.parse(amount);
double temp = number.doubleValue() / 100.0;
format.setGroupingUsed(false);
format.setMaximumFractionDigits(2);
amount = format.format(temp);
} catch (ParseException e){
e.printStackTrace();
}
return amount;
}
}


