抽象类abstract、接口interface
抽象类: abstract
抽象类的好处:强制要求子类一定要实现指定的方法。
abstract 修饰符
1、如果一个函数没有方法体,那么该函数必须要使用 abstract 修饰,把该函数修饰成抽象的函数。
2、如果一个类出现了抽象的函数,那么该类也必须使用 abstract 修饰。
3、如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法全部实现。
4、抽象类可以存在非抽象方法,也可以存在抽象方法
5、抽象类是不可以创建对象的。
6、抽象类是存在构造函数的,其构造函数是提供给子类创建对象的时候初始化父类属性的。
abstract 不能与以下关键字共同修饰一个方法
1、 abstract 不能与 private 共同修饰一个方法
2、 abstract 不能与 static 共同修饰一个方法
3、 abstract 不能与 final 共同修饰一个方法
接口: interface
作用:
1、拓展功能的。
2、定义约束规范
3、程序的解耦 (低耦合)
接口的定义格式:
interface 接口名{
}
接口要注意的事项:
1、接口是一个特殊的类。
2、接口的成员变量默认的修饰符为: public static final ,那么也就是说接口中的成员变量都是常量。
3、接口中的方法都是抽象的方法,默认的修饰符为: public abstract
4、接口不能创建对象。
5、接口是没有构造方法的。
6、接口是给类去实现使用的,非抽象类实现一个接口的时候,必须要把接口中所有方法全部实现。
实现接口的格式:
class 类名 implements 接口名{
}
接口与类之间的关系:实现关系
1、非抽象类实现一个接口时,必须要实现接口的所有方法。
2、抽象类实现一个接口时,可以实现也可以不实现接口中的方法。
3、一个类可以实现多个接口
接口与接口之间的关系:继承关系
1、一个接口是可以继承多个接口的