1.bank类

package com.yfs.javase;
//类封装
public class BankCard { //属性
int balance;//默认0 实例变量 分配给每个对象一个
//String name; // 方法 存钱
public void saveMoney(int money) {
if(money < 0) {
System.out.println("非法操作...");
return;
}
System.out.println("向账户存入" + money +"元...");
balance += money;
} //取钱 调用时传入参数
public void drawMoney(int money) {
//验证余额
if(balance < money) {
System.out.println("账户余额不足...");
return; //终止方法调用
} System.out.println("从账户取出" + money + "元...");
balance -= money;
} }

2.测试

package com.yfs.javase;

public class CardTest {

	public static void main(String[] args) {
// BankCard bc1 = null;//声明引用
// bc1 = new BankCard();//创建对象
BankCard bc1 = new BankCard();
System.out.println("银行卡余额:" + bc1.balance);
bc1.drawMoney(200);//调用对象方法 bc1.saveMoney(5000); bc1.drawMoney(500000); bc1.drawMoney(500); bc1.saveMoney(-500);
System.out.println("银行卡余额:" + bc1.balance); } }

3.测试1

package com.yfs.javase;

public class CardTest2 {

	public static void main(String[] args) {

		  BankCard bc1 = new BankCard();
System.out.println("银行卡余额:" + bc1.balance);
bc1.saveMoney(5000);
bc1.drawMoney(500);
System.out.println("银行卡余额:" + bc1.balance); BankCard bc2 = new BankCard();
System.out.println("银行卡余额:" + bc2.balance);
bc2.saveMoney(3000);
System.out.println("bc2银行卡余额:" + bc2.balance);
System.out.println("bc1银行卡余额:" + bc1.balance); } }

4.测试2

package com.yfs.javase;

public class CardTest3 {

	public static void main(String[] args) {

		  BankCard bc1 = new BankCard();
bc1.saveMoney(5000);
bc1.drawMoney(500);
System.out.println("银行卡余额:" + bc1.balance); BankCard bc2 = new BankCard();
bc2.saveMoney(3000);
System.out.println("bc2银行卡余额:" + bc2.balance);
bc2.drawMoney(5000);
bc2.balance = 10000;//修改余额 不安全操作
bc2.drawMoney(5000);
System.out.println("bc2银行卡余额:" + bc2.balance); } }

1.1bank类

package com.yfs.javase.update;
//类封装
public class BankCard { //属性 private 属性私有 只能在当前类中访问
private int balance;// 实例变量 分配给每个对象一个
private int password; // 方法 存钱
public void saveMoney(int money) {
if(money < 0) {
System.out.println("非法操作...");
return;
}
System.out.println("向账户存入" + money +"元...");
balance += money;//在方法中访问
} //取钱 调用时传入参数
public void drawMoney(int money) {
//验证余额
if(balance < money) {
System.out.println("账户余额不足...");
return; //终止方法调用
} System.out.println("从账户取出" + money + "元...");
balance -= money;
}
//通过访问balance属性方法 不能修改
public void getBalance () {
System.out.println("账户余额:" + balance);
} }

2.1测试

package com.yfs.javase.update;

public class CardTest3 {

	public static void main(String[] args) {

		  BankCard bc1 = new BankCard();
bc1.saveMoney(5000);
bc1.drawMoney(50000);
// bc1.balance = 100000000;//编译出错
// System.out.println("银行卡余额:" + bc1.balance);//私有属性不能访问 bc1.getBalance();
// bc1.password; } }

3.1方法重载条件

package com.yfs.javase.update;

import java.util.Random;

public class Demo2 {
// public int add(int a, int b) {
// return a + b;
// }
//变量名称不能成为重载条件
// public int add(int c , int d) {
// return c + d;
// }
public double add(int a , double b) { return a + b; }
//返回值类型不能成为重载条件
public long add( int a, int b) { return a + b;
}
public static void main(String[] args) {
Demo2 d1 = new Demo2();
long val = d1.add(1,6); } }

4.1方法重载示例

package com.yfs.javase.update;

public class OverRideDemo {
//方法的重载 方法使用相同的名字
public int add (int a, int b) {
return a + b;
} public int add (int a , int b, int c) {
return a + b + c;
} public double add( double a, double b) {
return a + b;
}
public static void main(String[] args) {
//创建对象
OverRideDemo od = new OverRideDemo();
int val = od.add(3,5);
System.out.println("add(3,5) = " + val); val = od.add(3,5,8);//根据调用时传入参数个数 类型匹配对应方法
System.out.println("add1(3,5,8) = " + val); double result = od.add(3.14, 2.71);
System.out.println("add(3.14, 2.71) = " + result); } }

java新手笔记9 类的封装示例的更多相关文章

  1. java新手笔记14 类继承示例

    1.Person package com.yfs.javase; public class Person { private String name; private int age; private ...

  2. java新手笔记5 类

    1.进制转换 /* 企业发放的奖金根据利润提成. 利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时, 低于10万元的部分按10%提成,高于10万元的部分,可提成7.5 ...

  3. java新手笔记18 类比较

    1.Shap类 package com.yfs.javase; public class Shape /*extends Object */{ //默认继承object object方法全部继承 // ...

  4. java新手笔记11 类的静态属性、方法(单例)

    1.Person类 package com.yfs.javase; public class Person { String name;//每个对象上分配 与对象绑定 int age; char se ...

  5. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  6. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  7. Java学习笔记(八)——封装

    一.封装 1.定义 将类的信息隐藏在类的内部,不允许外部程序直接进行访问,而是通过该类提供的方法来实现对隐藏信息的操作和方法. 2.优点 (1)只能通过规定的方法访问数据 (2)隐藏类的细节,方便修改 ...

  8. 黑马程序员——JAVA基础之简述 类的封装

    ------- android培训.java培训.期待与您交流! ---------- 类的封装(Encapsulation)  封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装优 ...

  9. java新手笔记16 面积

    1.图形类 package com.yfs.javase; public class Shape { //计算面积方法 public double getArea() { System.out.pri ...

随机推荐

  1. 【Java基础】Java中的持久属性集Properties

    Properties 类的介绍 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串.一个属性列表可包含另一个属性列 ...

  2. about云资源汇总V1,3

    mongodb文档与视频资料分享 1.mongodb1-72.mongodb8-17集含代码3.MongoDB_and_Python学习笔记4.深入学习MongoDb5.PHP&MongoDB ...

  3. ios get airplay name

    tarting from iOS7 AudioToolbox API for currentRoute becomes deprecated: Apple instead made currentRo ...

  4. strust1.x中formbean的原理及作用

    from:     http://blog.csdn.net/tuiroger/article/details/3947896 今天张老师讲了一些比较重要的strust标签,<html:link ...

  5. nyoj 27 水池数目

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...

  6. C#- Winform最小化到托盘

    实现前先拉一个notifyIcon控件,在Icon属性中加入一个ICON小图标,然后具体的代码实现如下: using System; using System.Collections.Generic; ...

  7. 百度之星资格赛——Disk Schedule(双调旅行商问题)

    Disk Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  8. sqrt 源代码

    stap -v -e 'probe process("/usr/local/mysql56/bin/mysqld").function("*@/usr/src/mysql ...

  9. C# - 集合类 - 集合接口

    本篇将介绍关于集合的接口 这些接口定义了所有与集合有关的类的框架 IEnumerable接口 ns:System.Collections 此接口定义了对集合遍历的方法 一般表示元素序列或集合的类都实现 ...

  10. Git使用完全解析(一)

    是时候来系统的介绍一下Git了.毫无疑问,Git是目前最优秀的分布式版本控制工具,木有之一,可是我见到的很多人还是不会用,我的老东家每天忍受着SVN带来的痛苦,却迟迟不愿切换到Git上,个人感觉,许多 ...