1.对象实例的引用
修改后的代码
class Card{
int id;
double balance;
Card(int id,double balance){
this.id=id;
this.balance=balance;
}
void withdraw(double amount){
balance-=amount;
}
void deposit(double amount){
balance+=amount;
}
void print(){
System.out.printf("\nCard id:%10d\nBalance: $%8.2f",id,balance);
}
}
class CardTest{
public static void main(String args[]){
Card a=new Card(1,500);
Card b=open(2);
transfer(a,b,120);
a.print();
b.print();
}
static Card open(int id){
return new Card(id,0);
}
static void transfer(Card from,Card to,double amount){
from.withdraw(amount);
to.deposit(amount);
Card temp=from;
from=to;
to=temp;
}
}
将transfer方法改为Card类的成员方法的代码
class Card{
int id;
double balance;
Card(int id,double balance){
this.id=id;
this.balance=balance;
}
void withdraw(double amount){
balance-=amount;
}
static void transfer(Card from,Card to,double amount){
from.withdraw(amount);
to.deposit(amount);
Card temp=from;
from=to;
to=temp;
}
void deposit(double amount){
balance+=amount;
}
void print(){
System.out.printf("\nCard id:%10d\nBalance: $%8.2f",id,balance);
}
}
class CardTest{
public static void main(String args[]){
Card a=new Card(1,500);
Card b=open(2);
Card.transfer(a,b,120);
a.print();
b.print();
}
static Card open(int id){
return new Card(id,0);
}
}