java基础_day0022_java_关键字_Override__子类_父类_个人账户存钱_消费_的测试

Java自学习day12-继承和super练习-写一个名为 Account 的类模拟账户 1、写一个名为 Account 的类模拟账户。该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter 方法),返回月利率的方法 getMonthlyInterest(),取款方法 withdraw(),存款方法 deposit()。 写一个用户程序测试 Account 类。在用户程序中,创建一个账号为 1122、余额为 20000、 年利率 4.5%的 Account 对象。使用 阅读详情


账号类    :


package day08_06;

public class Account {
	private int id;
	
	private double balance;
	
	private  double annualInterstRate;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public double getBalance() {
		return balance;
	}

	public void setBalance(double balance) {
		this.balance = balance;
	}

	public double getAnnualInterstRate() {
		return annualInterstRate;
	}

	public void setAnnualInterstRate(double annualInterstRate) {
		this.annualInterstRate = annualInterstRate;
	}

	public Account(int id, double balance, double annualInterstRate) {
		super();
		this.id = id;
		this.balance = balance;
		this.annualInterstRate = annualInterstRate;
	}
	
	
	
public Account() {
		super();
	}

//	当前月利率
	public  double  getMonthlyInterest(){
		return this.annualInterstRate/12;
	}
//	消费 
	public  void withdraw(double amount){
		if(this.balance>=amount){
			this.balance-=amount;
		}else{
			System.out.println("当前余额不足");
		}
	}
//	存钱
	public  void  deposit(double amount){
		this.balance+=amount;
	}
	
}


子类  : 重写父类方法  Override

package day08_06;

public class CheckAccount extends Account{
	
	private  double  overdraft;
	
	
	
	
	
	@Override
	public void withdraw(double amount) {
		
		if(amount<super.getBalance()){
			super.withdraw(amount);
		}else if(amount > super.getBalance()){
			if((amount-super.getBalance()) > overdraft ){
				System.out.println("超过可透支额度的限额!");
			}else{
				this.overdraft-=(amount-super.getBalance());
				super.setBalance(0);
			}
				
		}
	}
	
	





	public double getOverdraft() {
		return overdraft;
	}







	public void setOverdraft(double overdraft) {
		this.overdraft = overdraft;
	}







	

}

测试父类的方法 

package day08_06;

public class TestAccount {
	public static void main(String[] args) {
		Account acc = new  Account(1000,20000,0.045);
		acc.deposit(30000);
		acc.withdraw(2000);
		System.out.println(acc.getBalance());
	}
}

测试重写后 子类的方法 

package day08_06;

public class TestCheckAccount {
	public static void main(String[] args) {
		CheckAccount ca=new CheckAccount();
		ca.setBalance(20000);
		ca.setAnnualInterstRate(0.045);
		ca.setId(1122);
		ca.setOverdraft(5000);
		
		ca.withdraw(5000);
		System.out.println(ca.getBalance()+":-可透支额度"+ca.getOverdraft());
		ca.withdraw(18000);
		System.out.println(ca.getBalance()+":-可透支额度"+ca.getOverdraft());
		ca.withdraw(3000);
		System.out.println(ca.getBalance()+":-可透支额度"+ca.getOverdraft());
		
		
		
		
		
		
	}
}







《JAVA 基础: 项目一:模拟账户》 1. 写一个名为Account的类模拟账户 该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),取款方法withdraw(),存款方法deposit()。 Account private int id private double balance private double annualInterestRate pu 阅读详情

相关推荐

Java编写一个账户的类

编写一个名为Account(帐户)的类。该类包括的数据成员有账号、余额和用户名。该类包括两个构造方法:一个是无参的构造方法,构造一个默认帐户;另一个是三个参数的构造方法,构造一个指定帐号、用户名和余额的帐户。该类包括5个方法,功能分别为:返回账号;返回用户名;返回余额;取款;存款。

JAVA练习程序(八)

一、写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),返回月利率的方法getMonthlyInterest(),取款方法withdraw(),存款方法deposit()。 二、写一个用户程序测试Account类。在用户程序中,创建一个账号为1122、余额为20000、年利率4.5%的Account对象。使用withdraw方法提款30000元,

liwenboe的博客 782

java 基础练习题

java基础练习题,包括各个基础模块,有助于新人动手练习。

写一个名为Account的类模拟账户。 该类的属性和方法如下所示。 该类包括的属性:账户id,余额balance,年利率annualInterestRate;包含的方法:各属性的set和get方法。

二、写一个名为Account的类模拟账户。 该类的属性和方法如下所示。 该类包括的属性:账户id,余额balance,年利率annualInterestRate; 包含的方法:各属性的set和get方法。取款方法withdraw(),存款方法deposit() 写一个测试程序 (1)创建一个Customer,名字叫Jane Smith,他有一个账号为1000,余额为2000,年利率为1.23%的账户 (2)对Jane Smith操作: 存入100元,再取出960元,再取出2000。 打印Jane Smith

weixin_52863289的博客 4524

1.编写一个类实现银行帐户的概念,包括的属性有“帐号

1.编写一个类实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。 2.改写上面的类,增加一个类的静态属性“最小余额”和一个用来修改这个最小余额属性的方法。 3.改写上面的类,增加一个类的静态属性“活期利率”和封装这个属性的相应方法。

定义一个类模拟银行账户

定义一个类实现银行帐户的概念,包括的变量有“帐号”和“存款余额”,包括的方法有“存款”、“取款”、“查询余额”和“显示帐号”。定义主类,创建帐户类的对象,并完成相应操作

Java学习配套实验

实验一: 写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance ,年利率 annualInterestRate。包含的方法:访问器( getter和 setter方法 ),取款方法withdraw(),存款方法deposit()。 提示: 在提款方法 在提款方法withdraw中,需要判断用户余额是否能够满足提款数额的要求。如果不能,应给出提示。 2. 创建 Customer 类 3. 写一个测试程序 (1) 创建一个Cus..

u014681502的博客 900

Matlab实战:12种优化算法在CEC2014测试集上的性能对比(附完整代码)

本文详细对比了12种优化算法在CEC2014测试集上的性能表现,包括PSO、DE、GA等主流算法。通过Matlab实现完整的实验流程,涵盖算法实现、参数设置、结果分析与可视化,为工程优化问题提供实用解决方案。特别关注收敛曲线和评价指标,帮助读者选择最适合特定场景的优化算法。

wine的专栏 681

Java存钱取钱问题

Java存钱取钱问题 题目如下: 1、写一个名为 Account 的类模拟账户。该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter 方法),取款方法 withdraw(),存款方法 deposit() 提示:在提款方法 withdraw 中,需要判断用户余额是否能够满足提款数额的要求,如果不 能,应给出提示。 创建 Customer 类。 a. 声明三个私有对象属性:first

w1112226的博客 2374

一文掌握python图形界面开发PyQt6--(一)基本操作、控件、信号与槽、常用控件、布局管理、事件处理、文件对话框

一文掌握python图形界面开发PyQt6--(一)基本操作、控件、信号与槽、常用控件、布局管理、事件处理、文件对话框

qq_38120851的博客 4041

【YOLOv11】087、YOLOv11多任务学习:检测、分割、分类联合学习

摘要: 工业质检场景中,多任务模型(检测、分类、分割)的需求日益增长。针对边缘设备部署的挑战,本文提出基于YOLOv11的多任务学习方案。通过共享主干网络和设计分支头(检测、分割、分类),实现高效推理;采用动态权重平衡策略解决多任务损失不平衡问题;并优化数据流处理(支持部分标注)和推理剪裁(按需启用分支)。实验表明,该方法在Jetson Orin上帧率提升3倍,内存占用减少40%,为工业质检提供了轻量高效的解决方案。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 445

Java面向对象实验三

(2) 父类Account的属性balance被设置为private,但在子类CheckAccount的withdraw 方法中需要修改它的值,因此应修改父类的 balance 属性,定义其为 protected。在用户程序中,创建一个账号为 1122、余额为 20000、 年利率 4.5%的 Account 对象。包含的方法:访问器方法(getter 和 setter 方法),返回月利率的方法 getMonthlyInterest(),取款方法 withdraw(),存款方法 deposit()。

zssxcj的博客 1115

云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。作为测试环境,本次使用 Registry2 搭建了私有镜像仓库,实际生产环境建议使用 Harbor;创建了一个 local-storage 的 StorageClass ,并使用本地磁盘的方式创建使用 PV ,实际建议使用 NFS 。

Heartsuit的博客 2460

面向对象学习(中)

面向对象的特征二:继承性 1.为什么要有类的继承性?(继承性的好处) ① 减少代码的冗余,提高代码的复用性。 ② 便于功能的扩展 ③ 为之后多态性的使用,提供了前提 图示: 2.继承性的格式: class A extends B{} A:子类、派生类、subclass B:父类、超类、基类、superclass 3.子类继承父类以后有哪些不同? 体现:一旦子类A继承父类B以后,子类A就获取了父类B中声明的所有的属性和方法。 特别的,父类中声明为private的属性或方法,子类继承父类以后,

Holland_zhizhu的博客 214

全志V3S嵌入式驱动开发(uboot移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一般来说,嵌入式的基础环境就是uboot、linux和rootfs。uboot完成一些基本硬件的初始化,比如cpu频率设置、ddr初始化、加载linux等等。早前,uboot的烧入比较麻烦,需要jtag工具才能完成。现在来说,很多soc支持系统直接从sd卡启动,这对开发

嵌入式-老费,一个分享专业嵌入式知识的blog 2817

STM32F407+OV2640的DCMI+DMA双缓冲JPEG图像采集系统

在嵌入式视觉系统中,数字摄像头接口(DCMI)是MCU连接CMOS图像传感器的关键硬件通道,其与DMA协同实现零CPU干预的高速数据流采集;而JPEG作为一种基于DCT变换与量化压缩的有损图像格式,依赖传感器端硬件编码引擎才能满足实时性要求。理解DCMI三重同步时序(PCLK/HSYNC/VSYNC)与DMA双缓冲机制的流水线协作原理,是突破带宽瓶颈、避免FIFO溢出和帧丢失的技术基础。该架构广泛应用于智能硬件、工业检测与边缘AI前端等需低功耗、高可靠图像捕获的场景,本文以OV2640与STM32F407为

weixin_42103128的博客 155

java---面向对象 9 (继承性super)

super的使用,继承性java

m0_64819500的博客 201

偏最小二乘回归分析原理详解和案例分析实例

偏最小二乘回归分析原理详解背景偏最小二乘回归分析 Partial least squares regression analysis基本思想建模步骤步骤一:分别提取两变量组的第一对成分,并使之相关性达最大步骤二:建立 y1,⋯ ,yp\boldsymbol{y}_{1}, \cdots, \boldsymbol{y}_{p}y1​,⋯,yp​ 对 u1\boldsymbol{u}_{1}u1​ 的回归及 x1,⋯ ,xm\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 9976

模拟账户:写一个名为 Account 的类模拟账户。**该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器

**1、写一个名为 Account 的类模拟账户。**该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter 方法),取款方法 withdraw(),存款方法 deposit()。 Account private int id private double balance private double annualInterestRate public Account (int id

YingxueSec 5439

精密加工零件自动报价智能体设计与实现

摘要 本文设计并实现了一个精密加工零件自动报价智能体系统。该系统通过计算机视觉和几何分析技术,自动读取3D图纸(STEP/STL格式),提取影响加工成本的几何特征,实现精准报价。系统采用模块化设计,包含3D模型解析、特征提取、成本计算和报价生成四个核心模块。关键技术包括:使用PythonOCC处理STEP文件,Trimesh处理STL网格;实现体积、表面积、包围盒等基础几何量计算;开发特征提取算法识别复杂曲面、深孔等加工难点;基于规则库进行可加工性评分和成本估算。相比传统人工报价方式,该系统能显著提高报价效

AI的内部世界的博客 111

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java子类与父类之间的对象转换

在使用Java的多态机制时,常常使用的一个特性便是子类和父类之间的对象转换。本文简要解析了java子类与父类之间的对象转换机制及需要注意的一些问题。

FengGLA的博客 4万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 中子类重写父类的方法时声明抛出异常不能比父类范围大

在java 中,当我们子类要重写父类中的方法,如果父类的方法有异常声明,那么子类重写这个方法时候,所要声明的异常不应该比父类的大。只能是小等,或者可以没有。原因如下。  假如我们自定意义一个异常:  public class MyException extends Exception {  public MyException(String message) {  }  public

greenpearl的专栏 7545

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

1.7 Java之封装性,构造器,this关键字和JavaBean

目录 封装性 权限修饰符 封装性实例 构造器 构造器练习 this关键字 JavaBean 封装性   Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作, 以实现下述目的: 隐藏一个类中不需要对外提供的实现细节; 使用者只能通过事先定制好的方法来访问数据,可以方便地加入 控制逻辑,...

剑雨巍巍的博客 711

java-子类与父类

1. 父类 代码 注:f_m1 是父类不被继承的方法 f_m2 父类被子类重写的方法 public class Father { public Father() { super(); System.out.println("父类的构造函数......."); //f_m2(); } ...

weixin_36408281的博客 595

eclipse_svn客户端插件site-1.10.13-1.9.x、site-1.12.x不存在

一定要保证Eclipse中svn插件版本和TortoiseSvn版本一致!!插件svn1.4.x对应TortoiseSvn 1.5.x插件svn1.6.x对应TortoiseSvn 1.6.x插件svn1.8.x对应TortoiseSvn 1.7.x插件svn1.10.x对应TortoiseSvn 1.8.x插件svn1.12.x对应TortoiseSvn 1.9.x查看svn

51互联云 1万+

基本数据类型:8种基本类型、对应的包装类、引用数据类型及与String 之间的转换。

/**  *   基本数据类型 : 8种基本类型  *   对应的包装类      引用数据类型     及 与 String 之间的转换。  * @author Administrator  *  */ public class TestWrapper { @Test public  void  StringtoWrapp(){ // 基本数据类型  == 包装类  ===St

51互联云 2592
上一篇: java基础_day0022_java关键字_this_super_构造器_子类对象实例化
下一篇: jdk1.7_eclipse_jee_mars_tomcat7_maven3.5
prefectjava
博客等级 码龄16年 26粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

prefectjava

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值