一、
- 约束就是子类继承他必须实现他的方法,如果不想实现,那子类也必须是抽象类
- 抽象类的所有方法 继承了抽象类 的 子类,那么这个子类都必须要实现抽象类的方法。 除非 子类也是抽象类,那么 必须子子类去实现方法
二、 - 抽象类 是类。 Java只能单继承,接口可以多继承(多继承 需要用接口实现)
- 接口不是继承 , 而是实现 , 一个类可以实现多个接口 , 一个类不能继承多个父类
- 只能继承一个类,可以实现多个接口
- 抽象类 是规矩,无规矩不成方圆。
三、上代码,加注释
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() {
}
}
四、实现抽象类的方法:也就是 重写父类抽象方法