1、什么是抽象类?
类和类之间具有共同特征,将这些共同特征提取出来。形成的就是抽象类。
类本身是不存在的,所以抽象类无法创建对象《无法实例化》。
所以抽象类是用来被子类继承的。
2、抽象类属于什么类型?
抽象类也属于引用数据类型。
3、抽象类怎么定义?
语法:
【修饰符列表】 abstract class 类名 {
类体;
}
public abstract class Bird {
//抽象方法
public abstract void attack();
}
4、final和abstract不能联合使用,这两个关键字是对立的。
5、抽象类的子类是可以是抽象类,也可以是非抽象类。
//抽象子类
public abstract class Flamingo extends Bird{}
//非抽象子类
public class Flamingo extends Bird{
//非抽象类继承抽象类要重写抽象类方法
public void attack() {
System.out.println("火箭鸟加速冲撞!!!");
}
}
6、一个非抽象的类继承抽象类,必须将抽象类中的抽象方法实现!!!
7、抽象类中不一定有抽象方法,抽象方法必须出现在抽象类中。
8、构造方法,静态方法不能声明为抽象方法
(abstract不能和static结合)
例如:
所有的订单都有单号,单价,数量。都拥有,而且相同,所以可以用一个抽象类给统一描述出来。
public abstract class AbstractOrder {
private String serialNo; // 单号
private Double money; // 单价
private int number; // 数量
再有一个商品订单 还有一个独有的 商品名称 属性。所以 在新新建一个 ProductOrder 继承 AbstractOrder。
public class ProductOrder extends AbstractOrder{
private String productName;
}