返回信息流package breakup;
class Boy {
private String name;
private Girl exGirlFriend = null;
private Girl girlFriend = null;
public static interface NextGirlFriendProvider {
Girl getNextGirlFriend();
}
private NextGirlFriendProvider nextGirlFriendProvider = null;
public Girl getExGirlFriend() {
return exGirlFriend;
}
public Girl getGirlFriend() {
return girlFriend;
}
public void setGirlFriend(Girl girlFriend) {
if (this.girlFriend != null) {
this.exGirlFriend = this.girlFriend;
}
this.girlFriend = girlFriend;
}
public NextGirlFriendProvider getNextGirlFriendProvider() {
return nextGirlFriendProvider;
}
public void setNextGirlFriendProvider(
NextGirlFriendProvider nextGirlFriendProvider) {
this.nextGirlFriendProvider = nextGirlFriendProvider;
}
public void breakUp() {
setGirlFriend(null);
findNextGirlFriend();
}
private void findNextGirlFriend() {
Girl nextGirlFriend = null;
if (nextGirlFriendProvider != null) {
nextGirlFriend = nextGirlFriendProvider.getNextGirlFriend();
}
setGirlFriend(nextGirlFriend);
}
public Boy(String name) {
super();
this.name = name;
}
}
class Girl {
private String name;
public String getName() {
return name;
}
public Girl(String name) {
super();
this.name = name;
}
}
public class BreakupTest {
public static void main(String[] args) {
final Girl alice = new Girl("Alice");
final Boy bob = new Boy("Bob");
final Girl cathy = new Girl("Cathy");
bob.setGirlFriend(alice);
bob.breakUp();
bob.setGirlFriend(cathy);
bob.setNextGirlFriendProvider(new Boy.NextGirlFriendProvider() {
@Override
public Girl getNextGirlFriend() {
return bob.getExGirlFriend();
}
});
bob.breakUp();
System.out.println(bob.getGirlFriend().getName());
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #20946同步于 2011/12/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[娱乐]请判断这个程序的输出
wks
2011/12/5镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。