一、抽象类
抽象类作用:
1.为子类提供共性属性和方法。
2.可声明引用,强制使用多态。
抽象方法的作用:
1.强制子类覆盖,否则子类声明为抽象类。
总结:
1.抽象类不能创建对象,可以声明引用。
2.抽象类中不一定有抽象方法,而有抽象方法的类一定是抽象类。
3.继承下,子类必须覆盖父类中抽象方法,否则子类声明为抽象类。
4.抽象方法,只有方法声明,没有方法实现。
5、抽象类:必须有抽象方法,可以有普通的方法。
接口:所有的方法都是抽象方法
二、接口
1、 与抽象类的异同:
相同:
都可生成对应的.class文件。
都不能创建对象。
可以声明引用。
都可以使用Object类中的方法。
不同:
接口只能定义公开静态常量,隐式存在public static final
接口只能定义公开抽象方法
没有构造方法、动态代码块、静态代码块
2、接口的概念:
概念:接口是一种能力。
应用场景:父类提供的方法个数无法满足子类的需求,可通过实现接口的方式扩充子类能力。
注意:接口可以多实现。
3、接口的规范:
实现接口,需要覆盖接口中的所有抽象方法,否则该类声明为抽象类。
覆盖时访问修饰符必须是public。
4、接口多态
概念:使用接口引用指向实现类对象。
注意:接口引用只能调用接口中所声明的方法,如果需要调用实现类中的方法,必须强转为实现类自身类型。
5、常见关系
类与类:单继承
extends 父类名称
类与接口:多实现
implements 接口1,接口2
接口与接口:多继承
extends 接口1,接口2,接口3