Java 小案例+super使用
1 package com.bytezero.supertest3;
2
3 /**
4 *
5 * @Description AccountTest类
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 2021年9月20日上午9:52:27
9 * @
10 *
11 */
12 public class AccountTest
13 {
14 public static void main(String[] args) {
15
16 Account acct = new Account(1122,20000,0.045);
17
18 acct.withdraw(30000);
19 System.out.println("您的账户余额为:"+acct.getBalance());
20
21 acct.withdraw(2500);
22 System.out.println("您的账户余额为:"+acct.getBalance());
23
24 acct.deposit(3000);
25 System.out.println("您的账户余额为:"+acct.getBalance());
26
27 System.out.println("月利率为:"+(acct.getMonthlyInterest() *100) +"%");
28
29
30
31 }
32 }
1 package com.bytezero.supertest3;
2
3 public class Account
4 {
5 private int id; //账号
6 private double balance; //余额
7 private double annualInterestRate; //年利率
8
9 //构造器
10 public Account(int id, double balance, double annualInterestRate)
11 {
12 super();
13 this.id = id;
14 this.balance = balance;
15 this.annualInterestRate = annualInterestRate;
16 }
17
18 //get set
19
20 public int getId()
21 {
22 return id;
23 }
24 public void setId(int id)
25 {
26 this.id = id;
27 }
28
29 public double getBalance()
30 {
31 return balance;
32 }
33
34 public void setBalance(double balance)
35 {
36 this.balance = balance;
37 }
38
39 public double getAnnualInterestRate()
40 {
41 return annualInterestRate;
42 }
43
44 public void setAnnualInterestRate(double annualInterestRate)
45 {
46 this.annualInterestRate = annualInterestRate;
47 }
48
49 //返回月利率
50 public double getMonthlyInterest()
51 {
52 return annualInterestRate / 12;
53 }
54
55 //取钱
56 public void withdraw(double amount)
57 {
58 if(balance >= amount)
59 {
60 balance -= amount;
61 return;
62 }
63 System.out.println("余额不足!");
64 }
65
66
67 //存钱
68 public void deposit(double amount)
69 {
70 if(amount > 0)
71 {
72 balance += amount;
73 }
74
75
76
77
78
79 }
80
81
82
83
84 }

1 package com.bytezero.supertest3;
2
3 /**
4 *
5 * @Description
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 2021年9月20日上午11:08:11
9 * @
10 *
11 */
12 public class CheckAccountTest
13 {
14 public static void main(String[] args)
15 {
16 CheckAccount acct = new CheckAccount(1122,20000,0.045,5000);
17
18 acct.withdraw(5000);
19 System.out.println("您的账户余额为:"+ acct.getBalance());
20 System.out.println("您的可透支额度为:"+acct.getOverdraft());
21
22 acct.withdraw(18000);
23 System.out.println("您的账户余额为:"+ acct.getBalance());
24 System.out.println("您的可透支额度为:"+acct.getOverdraft());
25
26 acct.withdraw(3000);
27 System.out.println("您的账户余额为:"+ acct.getBalance());
28 System.out.println("您的可透支额度为:"+acct.getOverdraft());
29
30
31
32
33 }
34 }
1 package com.bytezero.supertest3;
2
3 /*
4 *
5 *
6 */
7 public class CheckAccount extends Account
8 {
9 private double overdraft; //可透支的限额
10
11
12
13 public CheckAccount(int id, double balance, double annualInterestRate,double overdraft)
14 {
15 super(id, balance, annualInterestRate);
16 this.overdraft = overdraft;
17 }
18
19
20
21
22 public double getOverdraft() {
23 return overdraft;
24 }
25
26
27
28
29 public void setOverdraft(double overdraft) {
30 this.overdraft = overdraft;
31 }
32
33
34
35
36 @Override
37 public void withdraw(double amount)
38 {
39 if(getBalance() >= amount) //余额足够
40 {
41 //方式一
42 //setBalance(getBalance() - amount);
43
44 //方式二
45 super.withdraw(amount);
46 //方式三
47 //可以将父类的 private double balance; //余额 改为
48 //protected double balance
49
50
51
52 }
53 //余额不够 透支额度 + 余额消费
54 else if(overdraft >=( amount - getBalance()))
55 {
56 overdraft -= (amount - getBalance());
57
58 //setBalance(0);
59 //或者
60 super.withdraw(getBalance());
61
62 }
63 else
64 {
65 System.out.println("超过可透支限额!");
66 }
67
68 }
69
70
71
72
73
74
75 }

Java 小案例+super使用的更多相关文章
- Java小案例(行星移动)
Java小案例 行星移动:参考:三百集 使用软件:idea2017,java 1,图片集:这里 (idea图片源放在target目录下,才能访问到),建议从小往上看... 2,定义MyFrame p ...
- Java小案例-(逃离迷宫)
Java小案例-(逃离迷宫) 一,迷宫需求描述: 1,用户输入迷宫图(限制方形):字母1位墙,0为通,e为出口,m为入口,*为已访问的位置,用外围1围住迷宫 2,运行轨迹右,左,下,上 3,判断该迷宫 ...
- 《java入门第一季》之类小案例(模拟用户登录)
首先是做一个用户登录的小案例.在此基础上加入其它逻辑. import java.util.Scanner; /* * 模拟登录,给三次机会,并提示还有几次.如果登录成功,就可以玩猜数字小游戏了. * ...
- Session与Cookie的原理以及使用小案例>从零开始学JAVA系列
目录 Session与Cookie的原理以及使用小案例 Cookie和Session所解决的问题 Session与Cookie的原理 Cookie的原理 Cookie的失效时机 小提示 Session ...
- 《java入门第一季》之Character类小案例
/* * Character 类在对象中包装一个基本类型 char 的值 * 此外,该类提供了几种方法,以确定字符的类别小写字母,数字,等等,并将字符从大写转换成小写,反之亦然 * */ 下面通 ...
- Session小案例------完成用户登录
Session小案例------完成用户登录 在项目开发中,用户登陆功能再平常只是啦,当用户完毕username和password校验后.进入主界面,须要在主界面中显示用户的信息,此时用ses ...
- 广播小案例-监听系统网络状态 --Android开发
本例通过广播实现简单的监听系统网络状态改变的小案例. 1.案例效果演示 当手机连网后,系统提示“已连接网络”, 当手机断网后,系统提示“当前网络不可用”. 2.案例实现 在主活动中动态注册广播,然后写 ...
- Java 实验案例(多态)
实验任务 任务一:图形面积周长计算小程序 任务二:饲养员喂养动物程序 实验内容: 任务一: 图形面积周长计算 任务目的: 掌握多态的含义及应用场合 掌握上转型对象和多态的实现 掌握abstract关键 ...
- Cookie小案例-----记住浏览过的商品记录
Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中非经常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能例如以下: 1, ...
- session的两个小案例
学完了session,写两个小案例加深一下对session的巩固. 1. 用户登陆案例 登陆html页面提交后,将参数带给处理登陆的servlet,该servlet将获得登陆的用户名和密码,并将这些信 ...
随机推荐
- Qt中qreal的坑
今天在写Qt的时候遇到了一个bug:同样一个方程在PC机上算的结果是11,但在arm-Linux设备上算出来的结果是12,我自己用计算器按出来的结果也是12. 该段程序是这样的: maxnumbar ...
- 【K哥爬虫普法】孤注一掷的爬虫er,究竟还要误入歧途多远?
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...
- 【八】强化学习之DDPG---PaddlePaddlle【PARL】框架{飞桨}
相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...
- Python 实现进制转换与反汇编
通过利用反汇编库,并使用python编写工具,读取PE结构中的基地址偏移地址,找到OEP并计算成FOA文件偏移,使用反汇编库对其进行反汇编,并从反汇编代码里查找事先准备好的ROP绕过代码,让其自动完成 ...
- a标签download属性跨域问题
1.如果是加载了非同源的内容,该属性将失效,等于导航功能 2.在服务端设置Content-Disposition,使用HTTP响应头Content-disposition进行处理 3.先下载数据文件, ...
- CentOS7环境下MySQL的主从配置
CentOS7环境下MySQL的主从配置 一.什么叫主从复制 通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间.通俗点说就是select查询发送到从服务器,修改数据的语句 ...
- CH57x/CH58x/CH59x主从机主动发起断连
如果在做应用的时需要同时使用使用两块板子分别做主从机或者使用一块板子做单独的从机: 这是我们需要按下某个按键或者发送某条指令主机或者从机主动断开与对方的连接且设备不需要复位: 主机端我们可以调用这样一 ...
- (C语言)每日代码||2023.12.25||函数传参,传入数组时传递的是数组首元素地址
向函数传入某数组时,可以在函数内修改该数组的元素. #include <stdio.h> void test(char* p, char arr[]) { *p = 'h';//能改变 * ...
- Intellij IDEA 中 .properties文件中文乱码
在别的地方显示正常的 application.properties 文件,放到 idea 中就会有乱码,如下图所示 idea 右下角编码那里还是灰色的,不能更改 解决方法 点开 idea 的 sett ...
- JS leetcode II. 左旋转字符串 题解分析
壹 ❀ 引 简单的题目简单做,本题来自leetcode面试题58 - II. 左旋转字符串,题目描述如下: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋 ...