一、知识点:
1)static 修饰方法,静态方法,可以用类名直接调用
2)static修改属性,静态属性,属于类所有,所有的对象所共享
二、类图
实现过程:
(1)首先定义一个Bank类,并在其中添加一个静态属性String bankName,表示银行的名字:
public class Bank {
public static String bankName; //静态成员变量,表示银行名称
private String name; //用户名
private double balance; //账户余额
private String password; //密码
}
(2)然后创建带参数一个构造方法Bank(String name,String password,double turnOver),以便创建实例。完成后的代码如下所示:
public class Bank {
public static String bankName; //静态成员变量,表示银行名称
private String name; //用户名
private double balance; //账户余额
private String password; //密码
/**
* 带参构造方法,完成开户功能
* @param name 用户名
* @param password 取款密码
* @param turnOver 交易金额
*/
public void Bank(String name,String password ,double turnOver){
this.name = name;
this.password = password;
this.balance = turnOver;
}
}
(3)然后实现其中的存钱成员方法。void deposit(double turnOver)
/**
* 向账户中存入钱
* @param turnOver 交易金额
*/
public void deposit(double turnOver){
this.balance += turnOver;
}
(4)然后实现类的取钱方法:
/**
* 取钱
* @param password 取钱密码
* @param turnOVer 交易金额
*/
public void withDrawal(String password, double turnOver){
//判断密码是否相等
if(password.equals(this.password)){
//判断余额是否足够
if(this.balance >= turnOver){
this.balance = this.balance - turnOver;
System.out.println("成功取钱:"+turnOver+"\t账户余额:"+this.balance);
}
}else{
System.out.println("取款密码不对");
}
}
(5)接下来实现,欢迎和欢送方法,这两个方法通过静态方法来实现。
/**
* 静态方法,可以通过类名直接调用
*/
public static void wellcome(){
System.out.println("欢迎光临");
}
/**
* 静态方法,可以通过类名直接调用
*/
public static void goodBye(){
System.out.println("欢迎下次光临");
}
(6)最后的代码如下所示:
public class Bank {
public static String bankName; //静态成员变量,表示银行名称
private String name; //用户名
private double balance; //账户余额
private String password; //密码
/**
* 带参构造方法,完成开户功能
* @param name 用户名
* @param password 取款密码
* @param turnOver 交易金额
*/
public Bank(String name,String password ,double turnOver){
this.name = name;
this.password = password;
this.balance = turnOver;
}
/**
* 向账户中存入钱
* @param turnOver 交易金额
*/
public void deposit(double turnOver){
this.balance += turnOver;
}
/**
* 取钱
* @param password 取钱密码
* @param turnOVer 交易金额
*/
public void withDrawal(String password, double turnOver){
//判断密码是否相等
if(password.equals(this.password)){
//判断余额是否足够
if(this.balance >= turnOver){
this.balance = this.balance - turnOver;
System.out.println("成功取钱:"+turnOver+"\t账户余额:"+this.balance);
}
}else{
System.out.println("取款密码不对");
}
}
/**
* 静态方法,可以通过类名直接调用
*/
public static void wellcome(){
System.out.println("欢迎光临");
}
/**
* 静态方法,可以通过类名直接调用
*/
public static void goodBye(){
System.out.println("欢迎下次光临");
}
}
三、Test类
Bank类的属性和方法都定义好了,接下来定义测试类,测试Bank类的功能。
(1)先定义个Test类
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
(2)调用Bank类的静态方法欢迎;银行欢送;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bank.wellcome();
Bank.goodBye();
}
}
(3)然后,在欢迎和欢送之间,创建一个Bank对象,用户名:张三,密码:123,交易额:1000;
再进行存钱操作,取钱操作;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bank.wellcome();
//创建银行示例,开户
Bank bank = new Bank("张三","123",1000);
bank.deposit(10.89);
bank.withDrawal("abc", 200);
bank.withDrawal("123", 120);
Bank.goodBye();
}
}
(3)程序执行结果如下所示:
