一、接口
1、接口的定义
1.1、接口是抽象类的一种变体,接口也是一种引用数据类型,接口是完全抽象的(抽象类是版半抽象),是一种特殊的抽象类。
1.2、接口怎么定义,语法是什么?
【修饰符列表】interface 接口名{
}
2、接口的特点
2.1、接口支持多继承,一个类可以继承多个接口,接口的出现就是为了解决类体之间只能继 承一个类。
2.2、接口中只包含两部分内容常量和抽象方法,接口中没有其他内容。
2.3、接口中所有的元素都是public修饰的。(都是公开的)
2.4、接口中的抽象方法定义时:public abstract修饰符可以不写。
2.5、接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
2.6、接口中的常量public static final可以省略.
3、接口的语法
3.1、重要语法:当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆 盖、重写)。
二、抽象类
1、什么是抽象类
抽象类是一种没用完全实现的类,类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类,因为类本身时不存在的,所以抽象类无法创建对象(无法实例化)。抽象类的用途就是用来描述一些概念性的内容,在子类中具体实现这些概念,抽象类更多的是作为其他类的父类。
2、抽象类的定义
2.1、抽象类中可以含有抽象方法,抽象方法只有方法的返回值、名称和参数列表,没用方法体,必须在子类中具体实现该方法(给出方法体)。
2.2、语法规则如下:
【修饰符列表】abstract class 类名{
类体;
}
3、抽象类语法
3.1、抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。
3.2、抽象类关联到一个概念:抽象方法。
什么是抽象方法?
抽象方法表示没有实现的方法,没有方法体的方法。例如:
public abstract void doSome();
抽象方法特点是:
特点1:没有方法体,以分号结尾。
特点2:前面修饰符列表中有abstract关键字。
3.3、抽象类中不一定有抽象方法,抽象方法必须出现在抽象类当中。