package page2_149;/** * 打印机类 * @author win8 * */public abstract class Printer { public abstract void print();}
package page2_149;
/** * 针式打印机类 * @author win8 * */ public class DotMatrixPrinter extends Printer { @Override public void print() { System.out.println("针式打印机正在打印"); }}
package page2_149;/** * 喷墨打印机类 * @author win8 * */public class InkpetPrinter extends Printer { @Override public void print() { System.out.println("喷墨式打印机正在打印"); }
}
package page2_149;/** * 激光打印机类 * @author win8 * */public class LaserPrinter extends Printer { @Override public void print() { System.out.println("激光打印机正在打印"); }
}
package page2_149;/** * 测试类 * @author win8 * */public class Test { public static void main(String[] args) { Printer p = new DotMatrixPrinter(); p.print(); Printer p1 = new InkpetPrinter(); p1.print(); Printer p2 = new LaserPrinter(); p2.print(); }
}
package page2_149;public abstract class Niuben { private String name; private String likedo; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLikedo() { return likedo; } public void setLikedo(String likedo) { this.likedo = likedo; } public abstract void print();}
package page2_149;public class Wang extends Niuben { public Wang() { super.setName("王小强"); super.setLikedo("喜欢吃四川菜,练太极拳"); } @Override public void print() { System.out.println("我叫"+this.getName()+","+"我是牛犇的中国朋友,"+"我"+getLikedo()+"."); }
}
package page2_149;public class John extends Niuben { public John() { super.setName("约翰"); super.setLikedo("喜欢吃砒霜,打橄榄球"); } @Override public void print() { // TODO Auto-generated method stub System.out.println("我叫"+this.getName()+","+"我是牛犇的美国朋友,"+"我"+getLikedo()+"."); }
}
package page2_149;public class Master { public Niuben come(int num) { if(num==1) { return new Wang(); }else if(num==2) { return new John(); } return null; } public void serve(Niuben f) { if(f instanceof Wang) { Wang w=(Wang)f; w.print(); }else if(f instanceof John){ John j=(John)f; j.print(); } }
}
package page2_149;import java.util.Scanner;public class Test2 { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.println("招待的是(1,中国朋友 2,美国朋友)"); int num=input.nextInt(); Master m=new Master(); m.serve(m.come(num)); } }
