以下内容来自marschen的java4android视频教程.
第24集 为什么要使用抽象类
主要内容.
抽象类表达的是一种概念.
//如果一段代码在语意上是有错误的,那么在语法上也应该是有错误的.这是现代编程理论强调的一点,但是还没有那种语言完全实///现过
abstract class Printer{
void open(){
System.out.println("open");
}
void close(){
System.out.println("close");
}
void print(){
}
//abstract void print();//抽象函数
//在语意上有错误,我们让它在语法上也有错误.
//语法上的错误更加容易检查出来.
}
// 该打印机为喷墨打印机进行打印
class HPPrinter extends Printer{
void print(){
System.out.println("使用喷墨打印机进行打印");
}
}
//该打印机为针式打印机
class CanonPrinter extends Printer{
void print(){
System.out.println("使用针式打印机进行打印");
}
}
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()方法.
那么就会隐藏错误.