抽象方法抽象类复习:
抽象方法:将共性的行为(方法)抽取到父类之后由于每个子类执行的内容是不一样的,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。
抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类。
抽象类的定义格式:public abstract class类名{}
抽象方法的定义格式:public abstract 返回值类型 方法名();
抽象类和抽象方法的注意事项:
1.抽象类不能实例化。
2.抽象类中不一定有抽象方法,但有抽象方法的一定是抽象类。
3.可以有构造方法。
抽象类的子类:
要么重写所有的抽象方法要不变为抽象类(但是此时不能创建该类的对象)。
接口复习:
如何定义一个接口:
接口用关键字interface来定义
public interface(){}
接口不能实例化
接口和类之前实现关系,通过implements实现
public class 类名 implements 接口名{}
接口的子类要么是一个抽象类要么重写接口的所有抽象方法(多)。
注意:
1.接口和类之间是实现关系可以单实现也可以多实现。
public class 类名 implements 接口1,接口2{}
接口成员的特点:
成员变量:
只能是常量
默认修饰符:public static final
构造方法:没有。
成员方法:只能是抽象方法 默认public abstract 修饰。
JDK7以前:接口中只能定义抽象类的方法。
JDK8的新特性:接口中可以定义有方法体的方法。
JDK9的特性:接口中可以定义私有方法。
接口和类之间的关系:
类和类的关系:继承关系只能单继承,不能多继承,但是可以多层继承。
类和接口的关系:实现关系,可以单实现也可以多实现。
接口和接口的关系:可以单继承也可以多继承。