java - day13 - UnionPay
银行功能实现,主要为抽象类及接口的运用
1 package com.javatest.bankimple; 2 /* UnionPay */ 3 //银联接口 4 public interface UnionPay { 5 public static final double EXCHANGERATE = 6.13; //汇率 6 public abstract void save(); //存钱 7 double pick(double pick); //取钱 8 void check(); //查询余额 9 boolean checkPassWord(int password); //验证密码 10 } 11 12 interface ICBC extends UnionPay{ //工商行接口 13 public abstract void onlineCharge(); //在线支付 14 } 15 16 interface ABC extends UnionPay{ //农行接口 17 public abstract void onlineChargeForMobile(); //在线支付电话费 18 }
1 package com.javatest.bankimple; 2 import com.javatest.bankimple.*; 3 4 /* 工商行及农行的接口实现 */ 5 6 //实现工商行接口 7 public class ICBCImple implements ICBC{ 8 private double currentSum; //卡上目前余额,钱的来源就是要存储、读取记录的地方 9 private int passwordPerson; 10 ICBCImple(double currentSum,int passwordPerson){ 11 this.currentSum = currentSum; 12 this.passwordPerson = passwordPerson; 13 } 14 15 /* 16 * 存钱 17 * */ 18 public void save(){} 19 20 /* 21 * 取钱 22 * */ 23 public double pick(double pickNum){ 24 25 //核查是否可取款 26 if(pickNum<=currentSum){ 27 currentSum -= pickNum;//卡上余额 28 System.out.println("取款成功,余额为:"+currentSum); 29 }else{ 30 System.out.println("卡上余额不足"); 31 } 32 return currentSum; 33 } 34 35 /* 36 * 查询余额 37 * */ 38 public void check(){ 39 System.out.println("卡上余额为:"+currentSum); 40 } 41 42 /* 43 * 验证密码 44 * */ 45 public boolean checkPassWord(int passwordICBC){ 46 boolean flag; 47 if(passwordICBC == passwordPerson){ 48 System.out.println("输入正确"); 49 flag = true; 50 }else{ 51 System.out.println("输入错误"); 52 flag = false; 53 } 54 return flag; 55 } 56 57 /* 58 * 在线支付 59 * */ 60 public void onlineCharge(){} 61 } 62 63 64 //农行接口 65 class ABCImple implements ABC{ 66 boolean flag; 67 68 public void save(){} //存 69 public double pick(double pickNum){ 70 return 0; 71 } //取钱 72 public void check(){ 73 } //查钱 74 public boolean checkPassWord(int passwordABC){ 75 return flag; 76 } //验证密码 77 public void onlineChargeForMobile(){} //在线支付电话费 78 }
1 package com.javatest.bankimple; 2 import com.javatest.bankimple.UnionPay; 3 import com.javatest.bankimple.ICBCImple; 4 import java.util.Scanner; 5 6 /* main测试 */ 7 8 public class BankImple { 9 public static void main(String[] args){ 10 UnionPay icbc = new ICBCImple(50000,123);//建工商行--向上造型 11 12 //实现工商行功能 13 System.out.println("工商银行欢迎你"); 14 Scanner scanICBC = new Scanner(System.in); 15 16 /* 17 * 验证密码 18 * */ 19 System.out.print("输入密码:"); 20 int password = scanICBC.nextInt(); 21 22 if(icbc.checkPassWord(password)){ 23 /* 24 * 查询余额 25 * */ 26 System.out.println("是否要查询余额(Y/N):"); 27 String inputRemain = scanICBC.next(); 28 if(inputRemain.equals("Y")){ 29 icbc.check(); 30 }else if(inputRemain.equals("N")){ 31 System.out.println("不查询余额"); 32 } 33 34 /* 35 * 取钱 36 * */ 37 System.out.print("请输入取款数目:"); 38 double pickICBC = scanICBC.nextDouble(); 39 icbc.pick(pickICBC); 40 } 41 else{ 42 System.out.println("密码错误,无权访问"); 43 } 44 } 45 }
其中,类成员变量私有、对应方法公开以供外部访问/调用的用法 --供外部访问,但不允许外部修改
1 public class ICBCImple implements ICBC{ 2 private double money; //卡上余额 3 private int pwd; //密码 4 ICBCImple(double money,int pwd){ 5 this.money = money; 6 this.pwd = pwd; 7 } 8 .... 9 }
java - day13 - UnionPay相关推荐
- JAVA day13,14 API、Object类、日期时间类(long,Date,Calendar,DateFormat)、String类(字符串,可变长字符串)、正则表达式、包装类
1.API API(Application Programming Interface),应⽤程序编程接⼝.Java API是⼀本程序员的"字 典",是JDK提供给我们使⽤的类的说 ...
- java day13【Collection、泛型】
第一章 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合:集合是java中提供的一种容器,可以用来 ...
- Java day13——API(2)正则表达式、StringBuilder、包装类、Collection集合
目录 正则表达式 定义 常用标识 数量词 预定义字符类: 字符本身和转义 相关的API boolean matches(String regex) String replaceAll(String r ...
- Java通俗易懂30天 第30天:Java9- 14 新特性
文章目录 Java 9 的新特性 JDK 9 的发布 jdk目录结构的改变 java9新特性:模块化系统 java9新特性:Java的REPL工具:jshell JShell相关命令 java9新特性 ...
- Java基础day13
Java基础day13 Java基础部分day13-常用API&异常 1.包装类 1.1基本类型包装类 1.2Integer类 1.3int和String类型的相互转换 1.4字符串数据排序案 ...
- java基础视频25days(毕老师)学习日志(day11、day12、day13)
day11 ★01 多线程: 进程:是一个正在执行中的程序. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径. 或者叫一个控制单元. 线程:就是进程中的一个独立的控制单元 ...
- Java的新项目学成在线笔记-day13(九)
6.2.2 创建媒资服务工程 媒资管理的相关功能单独在媒资服务中开发,下边创建媒资服务工程(xc-service-manage-media). 媒资服务的配置与cms类似,导入 "资料&qu ...
- day13 Java学习(常见对象正则表达式)
常见对象(正则表达式) 概述: 指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.(其实就是一种规则) 检验方法: matches() 格式:"*******".m ...
- android 1到100000 正则,day13 Java学习(常见对象正则表达式)
常见对象(正则表达式) 概述: 指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.(其实就是一种规则) 检验方法: matches() 格式:"*******".m ...
最新文章
- 利用matlab对xml文件进行批量处理
- MySql数据库中的子查询使用
- python查询mysql decimal报错_python读取MySQL数据表时,使用ast模块转换decimal格式数据的坑...
- python爱因斯坦的问题_爱因斯坦的思考题.py
- nagios(icinga)借助check_hp插件监控惠普服务器硬件信息
- 【原】hive 操作笔记
- JavaScript-浅谈DOM事件流
- java转码工具_java转码工具native2ascii
- linux 16.04系统下载,【Ubuntu1604镜像下载】乌班图系统Ubuntu 16.04 官方正式版-开心电玩...
- C/C++ typedef用法
- Dictionary:MAC字典最简解决方案
- 一位 中国70 后老程序员的 26 个职场感悟
- 用Excel绘制曲线图
- 软件测试自动登录、浏览记录方向原理——基于Cookie和Session的区别和应用场景
- 跨站请求伪造(CSRF)攻击
- python怎么绘制图例_用Python绘制图例
- 点仙人掌(cactus)
- python中1到100怎么表示_python如何计算1到100的和(用for循环)
- oracle 日期类型是什么,oracle date日期类型 精析
- Cadence设计原理图常用导出方案