一个方法的方法体去掉 然后被abstract修饰 那么这个方法就变成了一个抽象方法
一个类中如果有方法是抽象方法 那么这个类也会变成一个抽象类
一个抽象类中可以有0~n个抽象方法
public class Person{
public abstract void eat(){
}
}
抽象类可以被其他类继承
一个类继承一个抽象类 那么这个类可以变成抽象类
一般子类不会加abstract修饰 一般会让子类重写父类中的抽象方法
子类如果没有重写父类全部的抽象方法 那么子类也可以选择变成一个抽象类
抽象类不可以创造对象
但是可以创造子类对象
抽象类作用
在抽象类中定义抽象方法 目的是为子类提供模板 子类可以在模板的基础上进行开发 先重写父类的抽象方法 然后可以扩展子类自己的内容 抽象类设计避免了子类设计的随意性 通过抽象类 子类的设计变得更加严格 进行某些程度上的限制
抽象类不能创造对象 那么抽象类中是否有构造器?
抽象类中一定有构造器 构造器的作用 给子类初始化对象的时候要先调用super 调用父类的构造器
抽象类不能被final修饰
因为抽象类设计的初衷就是给子类继承用的 如果加了final那么就不存在继承了