Logo

郎哥编程

接口的继承

2019-12-21 177

接口和类一样,也可以继承。在定义一个接口时,可以让该接口继承另外一个接口。

接口继承和类的继承一样,也是使用“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();
 
    }
 
}

程序执行结果如下图所示:

image.png

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论