一、

  1. 约束就是子类继承他必须实现他的方法,如果不想实现,那子类也必须是抽象类
  2. 抽象类的所有方法 继承了抽象类 的 子类,那么这个子类都必须要实现抽象类的方法。 除非 子类也是抽象类,那么 必须子子类去实现方法
    二、
  3. 抽象类 是类。 Java只能单继承,接口可以多继承(多继承 需要用接口实现)
  4. 接口不是继承 , 而是实现 , 一个类可以实现多个接口 , 一个类不能继承多个父类
  5. 只能继承一个类,可以实现多个接口
  6. 抽象类 是规矩,无规矩不成方圆。

    三、上代码,加注释
package oop.Abstract;

//abstract 抽象类 : 类   extends : 单继承    (接口可以多继承)
public abstract class Action {
    //约束,有人帮我们实现     (抽象 是 架构师 的工作,具体实现 程序员实现)
    //约束就是子类继承他必须实现他的方法,如果不想实现,那子类也必须是抽象类
    //abstract 抽象方法,只有方法名字,没有方法的实现
    public abstract void doSomething();

    /**
     * 1、不能new这个抽象类,只能靠子类去实现它:约束!
     * 2、抽象类中可以写普通方法
     * 3、抽象方法必须在抽象类中
     * 抽象的抽象:约束
     *
     * 思考题?
     * 1、抽象类 不能new,那么 它存在构造器 吗?
     * 存在构造器,new子类会自动执行父类构造
     * 2、抽象类存在的意义?
     * 抽象出来,提高开发效率
     */
}
package oop.Abstract;

//约束就是子类继承他必须实现他的方法,如果不想实现,那子类也必须是抽象类

//抽象类的所有方法 继承了抽象类 的 子类,那么这个子类都必须要实现抽象类的方法。  除非 子类也是抽象类,那么 必须子子类去实现方法
public class A extends Action{
//实现抽象类的方法:也就是 重写父类抽象方法
    @Override
    public void doSomething() {

    }
}

四、实现抽象类的方法:也就是 重写父类抽象方法