接口和类一样,也可以继承。在定义一个接口时,可以让该接口继承另外一个接口。
接口继承和类的继承一样,也是使用“extends”关键字。接口继承语法如下:
public interface 接口名称 extends 继承的接口名称
案例1:定义一个Speed接口,该接口继承Runner接口。Speed接口提供speedUp()和speedDown()方法,speedUp()方法用于加速,speedDown()方法用于减速。
在automobile包下新建Speed接口,该接口继承Runner接口。在New Java Interface对话框(如下图所示),单击【Add】按钮添加Runner接口到Extend interfaces列表区域。也可以在代码中手动添加。
Speed接口代码如下:
/**
* @Title: Speed.java
* @Package automobile
* @Description: Java核心技术课程案例
* @author 编程训练营
* @date
* @version V1.0
*/
package automobile;
/**
* @ClassName: Speed
* @Description: 抽象类与接口(接口的继承)案例1
* @author 编程训练营
* @date
*
*/
public interface Speed extends Runner {
/**
* @Title: speedUp
* @Description: 汽车加速
* @param 参数
* @return void 返回类型
* @throws
*/
public void speedUp();
/**
* @Title: speedDown
* @Description: 汽车减速
* @param 参数
* @return void 返回类型
* @throws
*/
public void speedDown();
}方法声明前面的注释是用eclipse自动添加的,方法注释添加步骤如下:
(1)鼠标定位到要添加注释的方法声明行,单击鼠标右键;
(2)在弹出的菜单列表中选择【Source】菜单项;
(3)在【Source】菜单项的子菜单列表中选择【Generate Element Comment】菜单项,即可添加方法注释。
在automobile包下新建Bus类,该类实现Speed接口。代码如下:
package automobile;
/**
* @ClassName: Bus
* @Description: 抽象类与接口(接口的继承)案例1
* @author 编程训练营
* @date
*
*/
public class Bus implements Speed {
/**
* <p>Title: run</p>
* <p>Description: </p>
* @see automobile.Runner#run()
*/
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("汽车开始运行");
}
/**
* <p>Title: speedUp</p>
* <p>Description: </p>
* @see automobile.Speed#speedUp()
*/
@Override
public void speedUp() {
// TODO Auto-generated method stub
System.out.println("汽车开始加速");
}
/**
* <p>Title: speedDown</p>
* <p>Description: </p>
* @see automobile.Speed#speedDown()
*/
@Override
public void speedDown() {
// TODO Auto-generated method stub
System.out.println("汽车开始减速");
}
}Bus类实现Speed接口。因为Speed接口继承了Runner接口,因此Bus类要实现包括Runner接口在内的所有接口方法。
在automobile包下新建测试类BusTest类,测试BusTest类。代码如下:
package automobile;
/**
* @ClassName: BusTest
* @Description: 抽象类与接口(接口的继承)案例1
* @author 编程训练营
* @date
*
*/
public class BusTest {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
// 实例化Bus对象
Bus bus = new Bus();
// 调用接口方法
bus.run();
bus.speedUp();
bus.speedDown();
}
}程序执行结果如下图所示:
