为了讲明白继承和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; } }