1.抽象类
学习接口之前我们回顾一下抽象类。
在JAVA中用关键字abstract来修饰一个类时,这个类叫做抽象类,用abstract关键字来修饰一个方法时,这个方法叫做抽象方法。
abstract class abstractclass{
...}//抽象类
abstract returnType abstractMethod([paramlist])//抽象方法
抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现。抽象类不能被实例化,抽象类不一定包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。
2.接口与多重继承
接口是抽象类的一种,中包含常量和方法的定义,而没有变量和方法的实现,且其方法都是抽象方法。
接口的作用:
主要是帮助实现相当于类的多重继承的功能。
多重继承:
指一个子类可以有一个以上的直接父类,该子类可以继承它所有的直接父类的属性。
3.接口的定义
接口是有常量和抽象方法组成的特殊类,接口的定义包括接口声明和接口体。接口声明格式格式如下:
[可见度] interface 接口名称 [extends 其他的接口名] {
// 声明变量
// 抽象方法
}
实例:
/* 文件名 : NameOfInterface.java */
import java.lang.*;
//引入包
public interface NameOfInterface
{
//任何类型 final, static 字段
//抽象方法
}
接口有以下特性:
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。
接口中的方法都是公有的。
例:
interface Animal {
public void eat();
public void travel();
}
4.接口的实现
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
实现一个接口的语法,可以使用这个公式:
...implements 接口名称[, 其他接口名称,