其他分享
首页 > 其他分享> > 实验六:类的封装

实验六:类的封装

作者:互联网

一、实验代码如下:

  1 package 实验6;
  2 
  3 import java.util.Scanner;
  4 
  5 
  6 public class Account {
  7     
  8     public int id;
  9     public String name;
 10     public long number;
 11     public long time;
 12     public int money;
 13     
 14     //方法Account(),创建账户的账号、姓名和余额等
 15     public Account(int id, String name, long number,long time, int money) {
 16         
 17         this.id = id;
 18         this.name = name;
 19         this.number = number;
 20         this.time = time;
 21         this.money = money;
 22     }
 23     
 24 
 25 
 26     //方法Display(),显示账户的账号、姓名和余额信息
 27     public void Display(){
 28         System.out.println("账户:" + id);
 29         System.out.println("姓名:" + name);
 30         System.out.println("身份证号:" + number);
 31         System.out.println("开户时间" + time);
 32         System.out.println("余额:" + money);
 33     }
 34     
 35     /*取款方法 takeMoney(),先让用户验证去除金额是否小于余额,
 36     取款成功后余额减除相应的金额*/
 37     public void takeMoney(){
 38         
 39         Scanner sc = new Scanner(System.in);
 40             System.out.println("请输入需要取款的金额:");
 41             int withdrawals = sc.nextInt();
 42             if(withdrawals <= money) {
 43             money= money-withdrawals;
 44             System.out.println("账户余额:" + money);
 45             }
 46             else {
 47             System.out.println("当前余额不足!");
 48             }
 49         }
 50     
 51     
 52     /*存款方法 saveMoney(int moneys),
 53     存款是直接传入存款金额,账户余额增加相应的金额*/
 54     public void saveMoney(int inmoney){    
 55         money = money + inmoney;
 56         System.out.println("此次存款为:" + inmoney);
 57         System.out.println("账户余额:" + money);
 58     }
 59     /*销户方法 finalize(),
 60      利用析构函数,释放内存空间*/
 61     protected void finalize()
 62      {
 63         
 64         System.out.println("Destructor called!");
 65      }
 66     
 67     public static void main(String[] args) {
 68         Account acc = new Account(10000,"张灿",123456,20190413,100000);
 69         /*
 70         acc.id = 10000;
 71         acc.name = "小明";        
 72         acc.number = 123456;
 73         acc.time=20190413;
 74         acc.money = 100000;
 75         */
 76         Scanner sc = new Scanner(System.in);
 77             while(true) {
 78             System.out.println("---欢迎进入银行账户操作系统---");
 79             System.out.println("---------1银行账户信息--------");
 80             System.out.println("---------2取款操作------------");
 81             System.out.println("---------3存款操作------------");
 82             System.out.println("---------4销户操作------------");
 83             System.out.println("---------5退出系统------------");
 84             System.out.println("------------------------------");
 85             int choice = sc.nextInt();
 86             switch(choice) {
 87             case 1:
 88                 System.out.println("---银行账户信息---");
 89                 acc.Display();
 90                 break;
 91             case 2:
 92                 System.out.println("---取款操作---");
 93                 acc.takeMoney();
 94                 break;
 95             case 3:
 96                 System.out.println("---存款操作---");
 97                 acc.saveMoney(1000);
 98                 break;
 99             case 4:
100                 System.out.println("---销户操作---");
101                 acc.finalize();
102                 break;
103             case 5:
104                 System.exit(0);
105                 break;
106             default:
107                 System.out.println("您的选择有误!");
108                 break;
109             }
110         }
111     }
112 }

二、实验结果:

---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
1
---银行账户信息---
账户:10000
姓名:张灿
身份证号:123456
开户时间20190413
余额:100000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
2
---取款操作---
请输入需要取款的金额:
5000
账户余额:95000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
3
---存款操作---
请输入需要存款的金额:
10000
账户余额:105000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
4
---销户操作---
Destructor called!
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
5

三、实验心得:

1.Java中类的封装是面向对象的核心特性,是信息隐蔽思想的具体实现技术,感觉和C++中类的封装有很多相似的地方。

2.此程序还应考虑到存的钱大于零,账户里的钱大于取的钱。 

标签:封装,账户,System,实验,销户,操作,public,取款
来源: https://www.cnblogs.com/itsRes/p/10702340.html