接口与抽象类
一、接口
Java语言的继承是单一继承,一个子类只能有一个父类(一个儿子一个亲爹)
Java语言给我们提供了一种机制,用于处理继承单一的局限性的接口
接口:接口是一个比抽象类还抽象的类,接口里所有的方法全是抽象方法,接口和类的关系是实现 ,implements interface
格式:
Interface 接口名{
}
接口的成员特点:
只能有抽象方法
只能有常量
默认使用public & abstract修饰方法
只能使用public & abstract修饰方法
默认使用public static final 来修饰成员变量
建议:建议大家手动给上默认修饰符
注意:
接口不能创建对象(不能实例化)
类与接口的关系是实现关系,一个类实现一个接口必须实现它所有的方法
关系
类与类:继承关系,单一继承,多层继承
类与接口:实现关系,多实现
接口与接口:继承关系,多继承
二、抽象类
Abstract:关键字,用衣袖是方法和类
抽象方法::不同类的方法是相似的,但是具体内容又不太一样,所以我们只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象类
抽象类:有抽象方法的类必须是抽象类
注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就是抽象类
抽象类的特点:
抽象方法只能在抽象类里面
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能实例化)
抽象类中可以有非抽象的方法
抽象类和类的关系也是继承,一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
抽象类的成员特点:
成员变量:
可以有成员变量
可以有常量
成员方法:
可以有抽象方法
可以有非抽象方法
构造方法:
可以有构造方法,对抽象类的成员变量进行初始化
Final:修饰类、成员变量、成员方法 让他无法被继承