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));
}
}