一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情。
interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。
接口是Java语言中一种引用类型。 定义格式:
interface 接口名称{
全局常量 ;
抽象方法 ;
}
package com.java.yanf.base;
/**
* 接口
* 因为接口本身都是由全局常量和抽象方法组成 ,所以接口中的成员定义可以简写。
*/
public interface People {
/**
* 1、全局常量编写时,可以省略public static final 关键字,例如:
* 简写前:public static final String INFO = "内容";
* 简写后如下
*/
String INFO = "内容";
/**
* 2、抽象方法编写时,可以省略 public abstract 关键字。
* 简写前:public abstract void say();
* 简写后如下
*/
void say();
}
接口与抽象类的区别
- 抽象类需要被子类继承,接口需要被类实现。
- 接口只能声明抽象方法,而抽象类中可以声明抽象方法,也可以写非抽象方法。
- 接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
- 抽象类使用继承来使用,无法多继承。接口使用实现来使用,可以多实现。
- 抽象类中可以包含static方法,但是接口中不允许(静态方法不能被子类重写,因此接口中不能声明静态方法)。
- 接口不能有构造方法,但是抽象类可以有。