您的位置:首页 > 编程语言 > Java开发

java新手笔记9 类的封装示例

2015-07-18 14:13 471 查看
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: