}
package Demon;public class DotMatrixPrinter extends Printer { public void print() { System.out.println("针式打印机正在打印"); }
}
package Demon;public class LaserPrinter extends Printer { public void print() { System.out.println("激光打印机正在打印"); }
}
package Demon;public class LnkpetPrinter extends Printer { public void print() { System.out.println("喷墨打印机正在打印"); }
}
package Demon;public class Test { public static void main(String[] args) { //父类引用指向子类对象DotMatrixPrinter Printer pr = new DotMatrixPrinter(); pr.print(); //父类引用指向子类对象LnkpetPrinter Printer pr2 = new LnkpetPrinter(); pr2.print(); //父类引用指向子类对象LaserPrinter Printer pr3 = new LaserPrinter(); pr3.print(); } }
*************************************************************************
package CookBook;public abstract class Niu { //(题目二:.请使用多态实现以下需求,牛犇有两个很要好的朋友,一个是中国的王小强,喜欢吃四川菜,练太极拳,另一个是美国的约翰,喜欢吃披萨,打橄榄球,每当朋友来拜访时,牛犇都会按各自的喜好招待他们。) String name; // 姓名 String hobby; // 爱好 public abstract void print();// 抽象方法用子类实现不同的作用
}
package CookBook;public class Wang extends Niu { // 重写父类抽象方法 public void print() { System.out.println("姓名:" + this.name + "喜欢" + this.hobby); }
}
package CookBook;public class John extends Niu { // 重写父类抽象方法 public void print() { System.out.println("姓名:" + this.name + "喜欢" + this.hobby); }
}
package CookBook;import java.util.Scanner;public class InPut { public static void main(String[] args) { Niu n = new Wang(); n.name = "王小强"; n.hobby = "吃四川菜,练太极拳"; Niu n2 = new John(); n2.name = "约翰"; n2.hobby = "吃披萨,打橄榄球"; Scanner input = new Scanner(System.in); System.out.println("请问来访的是谁?(请输入姓名:)"); String name = input.next(); if (name.equals("王小强")) { n.print(); } else if (name.equals("约翰")) { n2.print(); } }}
