Java接口 interface
一、修饰符 interface 接口名{}
1、接口定义的方法都是抽象方法;
2、接口定义的变量都是static final 静态常量;
3、接口可以多继承
4、接口不能直接实例化,需要定义子类实例;
二、抽象类和接口的区别与相同点
相同点: 1、都是分离方法的定义和实现(只定义方法,而实现通过子类去实现);
2、都不能被实例化;
3、都包含抽象方法(接口内的方法都是抽象方法,抽象类里的方法不一定是抽象方法);
区别: 1、抽象类提供部分方法实现,接口包含的方法全部为抽象方法,只有通过子类实现,自身任何方法都无法具体实现(接口不能为子类提供公共功能,即接口方法都为抽象方法,没有具体的实现);子类的具体实现方法不同,所以不能提供公共功能);
2、类可以实现多个接口,但是类只能继承一个父类。
三、抽象类和抽象方法如何选择
行为模型应该总是通过接口而不是抽象类定义,所以通常是优先选用接口,尽量少用抽象类。
选择抽象类的时候通常是如下情况:需要定义子类的行为,又要为子类提供通用的功能。