一、定义接口
public interface 接口名 {}
二、接口的特点
1)接口中的属性必须是常量,默认全部用public static final修饰
2)接口中的方法必须都是抽象方法,即public abstract(抽象类中的可以有抽象方法也可以没有抽象方法)
3)接口没有构造方法,不能实例化。但是可以变成一个变量类型,接口变量必须引用实现了接口的类对象(???)
4)类实现(implements)接口,就必须将接口中的所有方法全部重写,类中的方法必须有方法体,而接口中的必须没有方法体
5)一个类可以实现多个接口
public interface c{}
public interface D{}
public class E implements C,D{} //e要重写CD 中的全部方法
6)一个接口可以继承多个接口
public interface F extends C,D{}
如果class G implements F{}
那么G类既要重写F接口的方法,还必须重写F接口从C 和D接口中继承来的方法
7)一个类可以先继承一个父类,在实现多个接口
public class H extends A implements C,D{}
三、定义抽象类
public abstract class A(){};
四、抽象类的特点
1)抽象类是介于接口和类之间的一种类
2)抽象类中的方法既可以是具体方法 ,也可以是抽象方法
3)抽象类中的具体的方法可以自定义访问限定范围,抽象的方法也可以自定义访问限定范围,但不能是私有的,因为抽象类是用来继承的,因此抽象类和抽象方法也不能被final关键字修饰
5)抽象方法是有构造方法的,但是不能直接调用实例化,只能重写后调用
6)一个抽象类只能继承(extends)一个类,如果一个普通的类继承抽象类,必须重写抽象类中的方法;一个类也只能继承一个抽象类,抽象类可以实现多个接口