1、 抽象类
是不是
例如小狗是动物,那么小狗就继承父抽象类动物,再比如黑白打印机是打印机,那么黑白打印机就是继承抽象类打印机。
一个类中如果存在抽象方法,那么他必须要是抽象类
抽象类VS普通类
抽象类不能被直接实例化
但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例
普通类可以被实例化,
抽象方法必须存在于抽象类当中,抽象类其实就是相当于“是不是”,比如,小狗是动物,那么小狗就是继承父抽象类动物,再比如:黑白打印机是打印机,那么黑白打印机就继承抽象类打印机。
由于世界上不存在一个真正单纯是“动物”的东西,那只能说狗是动物,猫是动物,但你不会真的实例化出以后个所谓的“动物”,所以动物就是抽象类。打印机同理,黑白打印机就是打印机,你可以创造出一台黑百打印机,但一般情况下,你不会去创造一个“打印机”。
“白马非马”
“我们定一个个规则,所有的“马”都不能进城,那我只要
“你是人,我是人,但是没有“人是人””
//抽象方法打印
public abstract class Printer{
public abstract void print();
}
//重写打印方法的彩色打印机类
public class CPrinter extends Printer{
@Override
public void print(){
System.out.println("这是一个彩色打印机,打印了彩色的文案");
}
}
//重写打印方法的黑白打印机类
public class BWPrinter extends Printer{
@Override
public void print(){
System.out.println("这是一个黑白打印机,打印了黑白的文案");
}
}
//测试类
public static void main(String[] args){
Scanner input=new Scanner(System.in);