Application类
public class Application {
public static void main(String[] args) {
MobileTelephone telephone=new MobileTelephone();
SIM sim=new SIMOfChinaMobile();
sim.setNumber("1388765432");
telephone.useSIM(sim);
telephone.showMess();
sim=new SIMOfChinaUnicom();
sim.setNumber("13097656437");
telephone.useSIM(sim);
telephone.showMess();
}
}
MobileTelephone类
public class MobileTelephone {
SIM card;
public void useSIM(SIM card){
this.card=card;
}
public void showMess(){
System.out.println("使用的卡是:"+card.giveCorpName()+"提供的");
System.out.println("手机号码是:"+card.giveNumber());
}
}
SIM类
public abstract class SIM {
public abstract void setNumber(String n);
public abstract String giveNumber();
public abstract String giveCorpName();
}
SIMOfChinaMobile类
public class SIMOfChinaMobile extends SIM {
String number;
public String giveCorpName() {
return "中国移动";
}
public String giveNumber() {
return number;
}
public void setNumber(String n) {
number=n;
}
}
SIMOfChinaUnicom类