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. 过滤器filters对时间格式的处理

    在表格中,我们经常会对时间格式进行处理: 这个时候,我们就可以使用过滤器了. 过滤器是不会,改变原始值 {{ mess | dotime }} {{ mess | do2time }} mess: & ...

  2. 各大安卓模拟器的adb端口和使用对比

    在手游开发中,经常会使用模拟器来进行adb调试,本文列出了市面上主流模拟器的adb端口和使用对比. 模拟器ADB端口 市面上常见的模拟器连接ADB的端口列表: 网易MuMu模拟器 7555 夜神安卓模 ...

  3. ROS节点通信(二)service和client

    目录 1.说明 2.创建功能包 3.自定义通信数据类型 4.编写代码 5.编译配置 5.1.CMakeLists.txt 5.2.package.xml 6.编译运行 1.说明 ROS的节点通信模式有 ...

  4. Python下的三维建模和可视化

    本文介绍基于AnyCAD Rapid Py三维图形平台开发Python的三维应用 1 准备工作 1.1 安装 vc_resit 2022 在Windows下,AnyCAD Rapid SDK依赖Vis ...

  5. C# WinForm线程里操作控件

    做winform程序,避免不了的要在线程里控制窗体上的控件,直接在子线程里操作控件会报错"线程间操作无效,从不是创建控件***的线程访问它". 解决方法: private void ...

  6. P9989 [Ynoi Easy Round 2023] TEST_69 题解

    题目链接: [Ynoi Easy Round 2023] TEST_69 首先GCD有比较良好的一些性质.我们观察到一次 \(GCD(a_i,x)\) 操作,会有以下两种变化. 如果 \(x \bmo ...

  7. Oracle 数据库锁表问题及相关解决方法

    Oracle 数据库锁表问题及相关解决方法 问题描述: 今天在公司运行服务的时候,需要查询300多万的数据,再进行排序之后放到kafka的消息队列中,供flink进行消费.在服务器上直接运行后,服务报 ...

  8. WebAssembly核心编程[4]: Memory

    由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据.在JavaScript API中,Memory通过WebAssembly.M ...

  9. 穿透 SESSION 0 隔离

    注:这套程序在这里只是作为了解,博主本人并未测试,所有测试均来自文章最底层链接的原文章. 查看目标进程运行的SESSION位置 在实际开发过程中,可以通过Process Explorer 检查服务或程 ...

  10. Adoquery.Refresh 慎用。。。。非常严重,会带来各种问题。

    adoquery.refresh 各种问题,根本启不到刷新的作用.完全不刷新的节奏. 修改成已经打印后,如果用adoquery.refresh的话,这两个订单 并不会被刷新掉,惨吧......