「java银行子类」Java银行业务
今天给各位分享java银行子类的知识,其中也会对Java银行业务进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 编程创建Account 类模拟银行账户。
- 2、Java 定义一个银行卡类
- 3、java中什么叫子类?
- 4、创建Account类的两个子类(如何用Java实现)
- 5、用java编写模拟计算银行整存整取存款利息,1建立bank为抽象类,其中有两个抽象方法,计算存款
JAVA 编程创建Account 类模拟银行账户。
我帮你一共写了四个类,一个账户Account类,两个账户类的子类(信用卡账户CreditCardAccount类和借记卡DebitCardAccount类),另外再加上一个演示透支效果测试Test类。 代码贴在下面:
/**
* 账户类。
*
* @author CodingMouse
* @version 1.0
*/
public abstract class Account { protected String accountNumber; // 账号
protected double overage; // 余额
protected double annualInterestRate; // 年利率
/**
* 参数化构造器方法。
*
* 用于开户。
* @param accountNumber 预设账号
* @param overage 初始余额
* @param annualInterestRate 预设年利率
*/
public Account(String accountNumber, double overage, double annualInterestRate) {
super();
// 设定账号。
this.accountNumber = accountNumber;
// 设定初始余额,至少为零。
this.overage = overage = 0 ? overage : 0;
// 设定年利率,至少为零。
this.annualInterestRate = annualInterestRate = 0 ? annualInterestRate : 0;
}
/**
* 查询账号。
* @return 返回账号。
*/
public String getAccountNumber() {
return this.accountNumber;
}
/**
* 设置账号。
* @param accountNumber 新账号。
*/
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
} /**
* 查询余额方法。
* @return 返回账户余额。
*/
public double getOverage() {
return this.overage;
} /**
* 存款方法。
* @param money 要存入的金额。
* @return 返回true时存款成功,否则存款失败。
*/
public boolean depositMoney(double money) {
// 如果金额小于零,则不能存款
if (money = 0)
return false;
// 否则将相应的金额累加到账户余额中
this.overage += money;
return true;
}
/**
* 取款方法。
*
* 默认不能透支。
* @param money 要取出的金额。
* @return 返回true时取款成功,否则取款失败。
*/
public boolean drawMoney(double money) {
// 如果账户余额不足,则不能取款
if (this.overage money)
return false;
// 否则从账户余额中扣除相应的金额
this.overage -= money;
return true;
} /**
* 查询年利率。
* @return 返回年利率。
*/
public double getAnnualInterestRate() {
return this.annualInterestRate;
} /**
* 设置年利率。
* @param annualInterestRate 新的年利率。
*/
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
}
--------------------------------------------------
/**
* 借记卡账户。
*
* 不能透支。
* @author CodingMouse
* @version 1.0
*/
public class DebitCardAccount extends Account { /**
* 重写父类构造器。
* @param accountNumber 预设账号
* @param overage 初始余额
* @param annualInterestRate 预设年利率
*/
public DebitCardAccount(String accountNumber, double overage,
double annualInterestRate) {
super(accountNumber, overage, annualInterestRate);
}}
-------------------------------------------------
/**
* 信用卡账户。
*
* 可以透支。
* @author CodingMouse
* @version 1.0
*/
public class CreditCardAccount extends Account { private double overdraftLimit; // 透支限度
/**
* 重载构造器。
*
* 便于构建可透支的信用卡账户实例。
* @param accountNumber 预设账号
* @param overage 初始余额
* @param annualInterestRate 预设年利率
* @param overdraftLimit 透支限度
*/
public CreditCardAccount(String accountNumber, double overage,
double annualInterestRate, double overdraftLimit) {
super(accountNumber, overage, annualInterestRate);
this.overdraftLimit = overdraftLimit;
} /**
* 查询透支限度的方法。
* @return 透支限度金额。
*/
public double getOverdraftLimit() {
return this.overdraftLimit;
} /**
* 设置透支限度的方法。
* @param overdraftLimit 新的透支限度金额。
*/
public void setOverdraftLimit(double overdraftLimit) {
// 透支限度必须为零和正数,否则为零。
this.overdraftLimit = overdraftLimit = 0 ? overdraftLimit : 0;
} /**
* 重写父类构造器。
* @param accountNumber 预设账号
* @param overage 初始余额
* @param annualInterestRate 预设年利率
*/
public CreditCardAccount(String accountNumber, double overage,
double annualInterestRate) {
super(accountNumber, overage, annualInterestRate);
} /**
* 重写父类取款方法。
*
* 将默认不能透支的取款改为可以透支的取款。
* @param money 要取出的金额。
* @return 返回true时取款成功,否则取款失败。
*/
@Override
public boolean drawMoney(double money) {
// 如果账户余额 + 透支限度的总金额仍不足,则不能取款
if (this.overage + this.overdraftLimit money)
return false;
// 否则从账户余额中扣除相应的金额
this.overage -= money;
return true;
}}
------------------------------------------
/**
* 测试账户使用。
*
* @author CodingMouse
* @version 1.0
*/
public class Test { /**
* 主程序方法。
* @param args 入口参数。
*/
public static void main(String[] args) {
// 创建一个不能透支的借记卡账户。
System.out.println("------------ 借记卡账户 ------------");
DebitCardAccount debitCardAccount = new DebitCardAccount("CHK20100117001", 100, 0.02);
// 初始余额有100元,调用并打印取90元和取120元的结果。
System.out.println("取90元的结果:" + debitCardAccount.drawMoney(90));
// 重新存入90元
debitCardAccount.depositMoney(90);
System.out.println("取120元的结果:" + debitCardAccount.drawMoney(120));
// 创建一个可以透支的信用卡账户。
System.out.println("------------ 信用卡账户 ------------");
CreditCardAccount crebitCardAccount = new CreditCardAccount("CHK20100117002", 100, 0.03, 50);
// 初始余额有100元,并且透支限度为50元,调用并打印取90元、取120元和取160元的结果。
System.out.println("取90元的结果:" + crebitCardAccount.drawMoney(90));
// 重新存入90元
crebitCardAccount.depositMoney(90);
System.out.println("取120元的结果:" + crebitCardAccount.drawMoney(120));
// 重新存入120元
crebitCardAccount.depositMoney(120);
System.out.println("取160元的结果:" + crebitCardAccount.drawMoney(160));
}
}
-------------------------------------- 在我机器上的测试打印结果为: ------------ 借记卡账户 ------------
取90元的结果:true
取120元的结果:false
------------ 信用卡账户 ------------
取90元的结果:true
取120元的结果:true
取160元的结果:false ----------------------------------------- 这个题目只是简单考查了下封装、继承、多态三大面向对象特性,我提供的代码仅作参考。 如果你懒得复制,想要程序源代码文件或有不明白的地方,可以发邮件到我QQ邮箱,我再回给你。
Java 定义一个银行卡类
//银行卡类
public class Card{
//银行卡的属性及方法
}
//(透支)功能接口
public interface ICard{
public void enable();
}
//信用卡类,继承父类BankCard,实现接口
public class BlueCard extends Card implements ICard{
//code
}
//普通卡类,继承父类BankCard
public class BankCard extends Card{
//code
}
java中什么叫子类?
java中子类的定义为在有继承关系的类中extends前面的类则是子类。
继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。
子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法。
直接继承Object的类可以称之为Object的子类,间接继承Object的类可以称之为object的间接子类,object则是它的间接父类或者超类。
示例:
public class Parent{
}
public class Child extends Parent{
}
对Parent、Child来说有继承关系,则Parent是Child的父类,Child是Parent的子类。由于Parent、Child都默认继承Object类,所有Parent、Child都是Object的子类。
创建Account类的两个子类(如何用Java实现)
public class Bank
{
private long balance=0;
public Bank(){}
public void draw(int x) //存款
{
if(x=balance)
{
balance=balance-x;
System.out.println("Draw "+x+" Yuan success!");
}
else
{
System.out.println("The balance remain is not enough!");
}
}
public void deposit(int x) //取款
{
balance=balance+x;
System.out.println("Deposit "+x+" Yuan success!");
}
public void check() //查询
{
System.out.println("The balance remained is "+balance+" Yuan
");
}
public static void main(String[] args)
{
Bank bank1=new Bank();
bank1.deposit(10000);
bank1.check();
bank1.draw(3000);
bank1.check();
bank1.draw(8000);
bank1.deposit(5000);
bank1.check();
bank1.draw(8000);
bank1.check();
}
}
用java编写模拟计算银行整存整取存款利息,1建立bank为抽象类,其中有两个抽象方法,计算存款
public abstract class bank {
/**
*
* @param money 存的钱
* @param years 时间
* @param interest 利息
* @return
*/
public abstract double getTotal(double money,int years,double interest);
}
public class generalBank extends bank {
public double getTotal(double money, int years, double interest) {
double total = money * years *(interest) + money;
//将double类型转化为decimal防止double运算精度显示错误
java.text.DecimalFormat decimalFormat=new java.text.DecimalFormat("0.00");
total = Double.parseDouble(decimalFormat.format(total));
return total;
}
}
public class test {
public static void main(String[] args) {
bank bank = new generalBank();
double total = bank.getTotal(10000, 1, 0.03);
System.out.println(total);
}
}
关于java银行子类和Java银行业务的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。