接口的概念
接口可以理解成一种特殊的类,是由全局常量和公共的抽象方法构成的,接口需要用interface关键字定义。
类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类中的内部数据,也不关心类中这些方法的实现细节,只规定类中所需要提供的一些方法。
定义一个接口如下代码所示(接口名一般用大写I开头以区分普通类)
public interface IGame {
//接口中只能有不可修改的全局常量
public static final int i = 1;
//接口中只能有抽象方法
public void playGame();
}
接口的实现
实现一个接口的类称为这个接口的实现类,与继承不同,一个类可以实现多个接口,类实现接口用implements关键字,当实现一个接口时就会实现接口中所有的抽象方法
//一个类可以实现多个接口,并继承接口中的方法
public class Telephone implements IGame,ICall{
@Override
public void playGame() {
// TODO Auto-generated method stub
}
@Override
public void call() {
// TODO Auto-generated method stub
}
}
需要注意的是如果这个类除实现两个接口外还需要继承一个父类,那么这个父类的继承需要在接口的实现之前,例如
public class 类名 extends 父类 implements 接口1,接口2.....{
}
接口和抽象类的区别
1.接口与抽象类都可以有抽象方法
2.接口中只可以有常量,而不能有变量,抽象类中可以有变量
3.抽象类中可以有非抽象方法,接口中只能有抽象类