1 package com.bytezero.account;
2
3
4 public class Account
5 {
6 private int id; //账号
7 private double balance; //余额
8 private double annualInterestRate; //年利率
9
10
11 //构造器
12 public Account(int id, double balance, double annualInterestRate)
13 {
14
15 this.id = id;
16 this.balance = balance;
17 this.annualInterestRate = annualInterestRate;
18 }
19
20
21 // set get
22 public int getId()
23 {
24 return id;
25 }
26
27
28 public void setId(int id)
29 {
30 this.id = id;
31 }
32
33
34 public double getBalance()
35 {
36 return balance;
37 }
38
39
40 public void setBalance(double balance)
41 {
42 this.balance = balance;
43 }
44
45
46 public double getAnnualInterestRate()
47 {
48 return annualInterestRate;
49 }
50
51
52 public void setAnnualInterestRate(double annualInterestRate)
53 {
54 this.annualInterestRate = annualInterestRate;
55 }
56
57 //方法
58 public void withdraw(double amount) //取钱
59 {
60 if(balance < amount)
61 {
62 System.out.println("取款失败!!!!");
63 return;
64 }
65 balance -= amount;
66 System.out.println("成功取出:"+ amount);
67 }
68 public void dsposit(double amount) //存钱
69 {
70 if(amount > 0)
71 {
72 balance += amount;
73 System.out.println("成功存入"+amount);
74 }
75 }
76
77
78
79
80
81
82 }
 1 package com.bytezero.account;
2
3 public class Customer
4 {
5 private String firstName;
6 private String laseName;
7 private Account account;
8
9
10
11 public Customer(String f,String l)
12 {
13 this.firstName = f;
14 this.laseName = l;
15 }
16
17
18
19 public Account getAccount() {
20 return account;
21 }
22
23
24
25 public void setAccount(Account account) {
26 this.account = account;
27 }
28
29
30
31 public String getFirstName() {
32 return firstName;
33 }
34
35
36
37 public String getLaseName() {
38 return laseName;
39 }
40
41
42
43
44
45
46
47
48 }
 1 package com.bytezero.account;
2
3 /**
4 *
5 * @Description
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 2021年9月15日下午9:55:22
9 * @ 小测试
10 *
11 */
12 public class CustomerTest
13 {
14 public static void main(String[] args)
15 {
16 Customer cust = new Customer("Jane","Smith");
17
18 Account acct = new Account(1000, 2000, 0.0123);
19
20 cust.setAccount(acct);
21
22 cust.getAccount().dsposit(100);
23 cust.getAccount().withdraw(960);
24 cust.getAccount().withdraw(2000);
25
26 System.out.println("客户叫:"+cust.getFirstName()+cust.getLaseName());
27 System.out.println("客户的id:"+cust.getAccount().getId());
28
29 }
30 }

Java 封装+构造器+this 小测试的更多相关文章

  1. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  2. java 开发面试题小整理(一)

    本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...

  3. 基于Udp通讯的Java局域网群聊小程序

    /**基于Udp通讯的Java局域网群聊小程序 */package com.UdpDemo; import java.net.*; import java.awt.*; import java.awt ...

  4. Echarts 的 Java 封装类库 转自 https://my.oschina.net/flags/blog/316920

    转自: https://my.oschina.net/flags/blog/316920 Echarts 的 Java 封装类库:http://www.oschina.net/p/echarts-ja ...

  5. java中如何使用Junit测试

    java中如何使用Junit测试 一.总结 一句话总结:a.单元测试的测试代码在test文件夹下,和源码不在同一个文件夹下 b.测试的类方法都以test开头,后面接要测试的类或者方法的名字 1.JUn ...

  6. Java之——实现微信小程序加密数据解密算法

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79450115 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H ...

  7. Java 封装 继承 多态

    Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...

  8. java全栈商业小程序开发

    此次开发只为学习和巩固,第一次学习开发 一.开发前需要了解: 开发框架MVVM.痛点.开源工具.VUE前端框架.微信支付模块.uni-app前端框架.小程序申请.开发工具下载.编写测试小程序.小程序结 ...

  9. java 封装多态继承

    java 面向对象思想 封装多态继承 面向过程与面向对象 编程分为面向对象编程和面向对象编程,汇编,C语言是面向过程写代码,C++/Java是面向对象 其实面向过程和面向对象在本质都是一样写代码,然后 ...

  10. java封装基础详解

    java封装基础详解 java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节. 封装的特性是对属性来讲的. 封装的目标就是要实现软件部件的"高 ...

随机推荐

  1. 数字预失真(DPD)小试

    前言 射频功放的增益响应并非线性的,受到放大管饱和效应的影响,功放不可避免地出现非线性.甚至具有记忆效应的失真.这种非线性失真不仅产生高阶谐波,还会产生互调干扰,降低带内信噪比,影响带外信号.因此,需 ...

  2. C# 输入指定日期获取当前年的第一天 、当前年的最后天、某月的第一天 、某月的最后一天

    方法 /// <summary> /// 取得当前年的第一天 /// </summary> /// <param name="datetime"> ...

  3. CE修改器入门:浮点数的扫描

    在前面的教程中我们使用4字节的方式进行扫描,但有些游戏使用了"浮点数"来存储数值,浮点数是带有小数点的数值(如 5.12 或 11321.1),正如本关中的健康和弹药,两者都以浮点 ...

  4. .NetCore 三种生命周期注入方式

    .NetCore彻底诠释了"万物皆可注入"这句话的含义,在.NetCore中到处可见注入的使用.因此core中也提供了三种注入方式的使用,分别是: AddTransient:每次请 ...

  5. Json Schema高性能.net实现库 LateApexEarlySpeed.Json.Schema - 直接从code生成json schema validator

    LateApexEarlySpeed.Json.Schema - Json schema validator generation from code 除了用户手动传入标准的json schema来生 ...

  6. CH57x/CH58x/CH59x主从机主动发起断连

    如果在做应用的时需要同时使用使用两块板子分别做主从机或者使用一块板子做单独的从机: 这是我们需要按下某个按键或者发送某条指令主机或者从机主动断开与对方的连接且设备不需要复位: 主机端我们可以调用这样一 ...

  7. Wamp MySQL 报错 Got a packet bigger than 'max_allowed_packet' bytes

    点击电脑右下角wamp图标,然后进入mysql 下面的 my.ini 转移数据发现报这个错,字面意思允许的不够大.网上很多说法不起作用,解决方法如下: [mysqld] port=3306 expli ...

  8. mysql数据库应用

    一:安装数据库管理工具 1.进入navicat官网https://navicat.com.cn/ 2.下载navicat for mysql,选免费试用也可直接购买 3.安装好后一直点下一步即可 二: ...

  9. 《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(中)

    第 7 章 高级主题 7.2 并发 当两个用户获取同一个资源后,再同时修改该资源,就会导致并发问题 常见实现并发的方法有以下两种: 保守式并发控制,每次修改资源,都锁定资源 开放式并发控制,每次修改资 ...

  10. Kubernetes 1.26.0实战:在本地配置k8s集群

    阶段一:开发环境及版本 以下环境均来自官网: 本地宿主机环境:Windows 10 21H2 64位 虚拟机软件:VMware workstation 15.5 pro 虚拟机镜像版本:ubuntu- ...