接口
概念:
接口是抽象方法和常量定义的一个集合。
从本质上来讲,接口是一种特殊的抽象类,接口中所定义的方法全是抽象方法,所定义变量的全是常量。
语法:
public interface IAnimal{
//定义常量,无法定义变量
public static final double PI=3.14;
int M = 10;//等价于public static final int M = 10
//只能有抽象方法
public abstract void cry();
Public void cry();
void cry(); //三种方式一种意思,省略时默认public,abstract可省略。
}
接口的实现:
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
public class IPhone extends Phone implements IGame,ITime{
/**
* 大家都有的打电话功能
*/
@Override
public void call() {
System.out.println("使用联通卡打电话");
}
public void finger(){
System.out.println("iphone支持指纹解锁");
}
public void playGame() {
System.out.println("ipone也可以打游戏");
}
public void keepTime() {
System.out.println("使用iphone来计时");
}
}
接口作用:
把接口当做一个特殊的父类
1.接口里定义的全部都是抽象方法,子类实现接口,必须实现所有的抽象方法,对子类的方法做了一个约束,不能让子类乱写方法。统一在接口中
2.解决Java中一个类只能单继承问题,一个类可以实现多个接口,弥补以前单继承不足的问题。实现接口也是一种继承关系
接口的使用:
1.一个类可以使用多个接口,完成多重继承
2.接口中申明的属性默认public static final类型的
3.接口中只能定义抽象方法
4.接口可以继承其他接口,一个接口可以继承多个接口
//只继承方法就用接口,要继承方法和属性就用抽象类
抽象类和接口的区别:构造函数、修饰符、内部变量和方法、能否实现行为、能否实现多继承