本身作的关于java中一对多,多对一的关联关系是如何实现的,对于初学者仍是有必定参考价值的
/* * 功能:测试一对多多对一的关联关系 * 做者:KDF5000 * 时间:2012.11.3 */ import java.util.ArrayList; import java.util.Iterator; public class Connect { public static void main(String []Args) { ArrayList<CreditCard > cards=new ArrayList<CreditCard >(); //第一帐户,对应三张卡 CardsOwner owner1=new CardsOwner("宋江","男"); CreditCard card1=new CreditCard("中国银行","123456789","123456",owner1); CreditCard card2=new CreditCard("工商银行","164794684","123456",owner1); CreditCard card3=new CreditCard("农业银行","468715647","123456",owner1); owner1.addCard(card1); owner1.addCard(card2); owner1.addCard(card3); //第二个帐户对应两张卡 CardsOwner owner2=new CardsOwner("林冲","男"); CreditCard card5=new CreditCard("中国银行","123456789","123456",owner2); CreditCard card4=new CreditCard("工商银行","164794684","123456",owner2); owner2.addCard(card5); owner2.addCard(card4); //把卡存起来 cards.add(card1); cards.add(card2); cards.add(card3); cards.add(card4); cards.add(card5); //输出帐户信息 System.out.println("姓名 性别 银行 卡号 密码"); owner1.showInfo(); owner2.showInfo(); System.out.println("--------------------------------------------"); System.out.println("银行 卡号 密码 主人 性别"); Iterator<CreditCard> i=cards.iterator(); while(i.hasNext()) { i.next().showCardsInfo(); } } } //CreditCard类 class CreditCard { String bankName; String number; String password; CardsOwner owner; //constructor public CreditCard(String bankName, String number, String password,CardsOwner owner) { this.bankName = bankName; this.number = number; this.password = password; this.owner=owner; } //setter and getter public String getBankName() { return bankName; } public void setBankName(String bankName) { this.bankName = bankName; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public CardsOwner getOwner() { return owner; } public void setOwner(CardsOwner owner) { this.owner = owner; } //输出银行卡的信息 void showCardsInfo() { System.out.println(this.bankName+" "+this.number+" "+this.password+" "+this.owner.getName()+" " +this.owner.getSex()); } } //银行卡持有者 class CardsOwner { private String name; private String sex; ArrayList<CreditCard> cards; //构造方法 public CardsOwner(String name, String sex) { this.name = name; this.sex = sex; cards=new ArrayList<CreditCard>(); } //getter and setter public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public ArrayList<CreditCard> getCards() { return cards; } public void setCards(ArrayList<CreditCard> cards) { this.cards = cards; } void addCard(CreditCard card) { cards.add(card); card.setOwner(this); } //输出我的信息 //迭代器输出 void showInfo() { Iterator<CreditCard> i=cards.iterator(); while(i.hasNext()) { CreditCard temp1=i.next(); System.out.println(this.name+" "+this.sex+" "+temp1.bankName+" " +temp1.number+" "+temp1.password); } //for循环输出 /*for(int j=0;j<cards.size();j++) { CreditCard temp=cards.get(j); System.out.println(this.name+" "+this.sex+" "+temp.bankName+" " +temp.number+" "+temp.password); }*/ } }