abstract class Printer{
void open(){
System.out.println("open");
}
void close(){
System.out.println("close");
}
abstract void print();
}
class HPPrinter extends Printer{
void print(){
System.out.println("喷墨打印机ING");
}
}
class CanonPrinter extends Printer{
void print(){
System.out.println("针式打印机ING");
}
}
class Test{
public static void main(String args[]){
Printer p1=new HPPrinter();
p1.open();
p1.print();
p1.close();
Printer p2=new CanonPrinter();
p2.open();
p2.print();
p2.close();
}
}
为什么要使用抽象函数呢?假如不同的程序员开发不同型号的打印机的打印程序,print方法则必须需要重写,如果不重写,虽然编译不出错,但是语意错误。而使用了抽象函数,不重写则会报错,编译不通过,提醒开发人员进行重写。