下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java语言中的接口(1)

作者:课课家教育     来源: http://www.kokojia.com点击数:728发布时间: 2016-01-20 15:06:21

标签: java手游开发java网站空间java课程标准

大神带你学编程,欢迎选课

  通过前面几篇文章的学习,初学者可以初步掌握java语言中继承的概念和使 用方法,对抽象类的使用也有一定的理解。值得注意的是,Java中类与类的继承 是单继承,也就是一个子类最多同时可以继承一个父类。那么让我们看下面的例 子。

Java语言中的接口(1)_java手游开发_java网站空间_课课家

  假设我们要开发一个游戏系统,而游戏系统中有三种飞行器:飞机、小鸟、 蜘蛛侠。这三种飞行器都需要实现起飞,飞行,降落的逻辑,但是实现方法各不 相同。那么这三个类应该有一个抽象类作为父类,规范共同行为。

  package com.csst.inter;

  public abstract class Flyer {

  public abstract void takeoff();

  public abstract void fly();

  public abstract void land();

  }

  package com.csst.inter;

  public class SpiderMan extends Flyer {

  @Override

  public void fly() {

  // TODO Auto-generated method stub

  }

  @Override

  public void land() {

  // TODO Auto-generated method stub

  }

  @Override

  public void takeoff() {

  // TODO Auto-generated method stub

  }

  }

  // Plane,Bird省略

  让我们仔细看Flyer这个抽象类,它的特点是没有具体方法,所有方法都是抽 象方法,而且没有变量。而如果这时,SpiderMan类需要继承另外一个父类,就 做不到了,因为java语言中的继承是单继承的。而如果SpiderMan不继承Flyer类 也不可以,因为所有飞行器都用Flyer类型来规范。正为了解决Java中单继承的 问题,Java中有了接口的概念。我们可以如下修改上面代码:

  package com.csst.inter;

  public interface Flyer {

  public void takeoff();

  public void fly();

  public void land();

  }

  package com.csst.inter;

  public class SpiderMan implements Flyer {

  public void fly() {

  // TODO Auto-generated method stub

  }

  public void land() {

  // TODO Auto-generated method stub

  }

  public void takeoff() {

  // TODO Auto-generated method stub

  }

  }

赞(16)
踩(3)
分享到:
华为认证网络工程师 HCIE直播课视频教程