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. 一文总结现代 C++ 中的初始化

    本文尝试回答: 现代 C++ 有哪几种初始化形式?分别能够用于什么场景?有什么限制? MyClass obj(); 为什么没有调用默认无参构造函数创建一个对象? new int 和 new int() ...

  2. SqlSugar新增数据

    1.插入方式 1.1 单条插入实体 //返回插入行数 db.Insertable(insertObj).ExecuteCommand(); //都是参数化实现 //异步: await db.Inser ...

  3. C/C++ 提权与强制卸载DLL

    权限提升 #include <Windows.h> #include <stdio.h> BOOL SetPrivilege(LPCTSTR lpszPrivilege, BO ...

  4. Win32汇编:数组与标志位测试总结

    整理复习汇编语言的知识点,以前在学习<Intel汇编语言程序设计 - 第五版>时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会 ...

  5. 使用symbolicatecrash工具符号化Crash日志

    对于打包上线的APP,或者打包测试的APP,出现了崩溃并不能方便的把手机链接到电脑使用XCode自动符号化,此时手动符号化就是重要的选项. 1.查找符号化工具symbolicatecrash find ...

  6. Word-批量导出Word中的图片

    当我们需要把Word文件中的图片保存起来,你是如何导出Word图片呢?右键一张张保存图片吗?这效率太低了.如果文档中有大量的图片,这个方法会浪费很多时间. 下面给大家分享word如何批量导出图片的技巧 ...

  7. Elasticsearch, Kibana安装

    Centos7 安装Elasticsearch 安装 因为ES启动不能用root账号,手工安装配置较繁琐,故直接用rpm进行安装.根据官网的6.8安装提示 rpm --import https://a ...

  8. adb查看和修改settings值

    初始化命令 对应USB连接的安卓设备 # 用help查看版本,位置和参数 >adb --help Android Debug Bridge version 1.0.41 Version 30.0 ...

  9. 利用javax.validation实现对bean属性校验

    1.使用场景介绍 controller层对传入的bean的属性进行非空.属性长度等合法性的校验. 传统的方式是我们要自己写if-else-去判断,比较麻烦. 2.实现效果 3.代码介绍 代码结构: p ...

  10. Java使用ConcurrentHashMap实现简单的内存式缓存

    需求说明: 实际项目中我打算把用户和组织信息放到缓存中,基于此提出以下几点需求: 1.数据存储在内存中: 2.允许以键值对的方式存储对象类数据并带有过期策略: 3.不限制内存使用,但cache也不能给 ...