Java之接口

接口的概念
出于安全性和简化程序结构的考虑,Java程序的类之间不支持多重继承,只能实现题时,
继承,即一个子类不能继承多个父类,只能有唯一父类。然而在解决实际问 ,很多况仅仅依靠单继承不能将问题描述清楚。例如,某动画片,飞机(Plane)和小鸟(Bird色都能飞,但飞的原理不同,飞机利用发动机作为动力飞行,小鸟扇动翅膀飞行 如果用类之间的单继承机制,需要在Plane和Bird类中声明抽象方法flying,存在代问题。
为了使Java程序的类层次更加合理,构造的模型更符合实际问题本质,Java提供实现多重继承。
接口是Java语言重要的概念之一。接口指用interface关键字定义的特殊类,也称接类型,它描述系统对外提供的服务,但不包含具体实现。例如,飞机和小鸟都要飞,定义接口飞,只要飞机和小鸟等类实现该接口,就表示它们的对象能提供“飞”服务;照相机、手机、平板计算机都有拍照功能,定义拍照接口,只要照相机、手机、平板计算机等类实现该接口,表示它们的对象能提供“拍照”服务。
接口定义了多个类的共同行为规范,这些行为是对象与外部交流的通道。接口体现了规范与实现分离的设计原则,
提高了系统的可扩展性和可维护性。

 

 下面就让我们举个例子加以理解:

public class Animal {
    String name;
    public Animal(String name){
        this.name = name;
    }
}
interface IsFlying{
    public abstract void fly();   //方法体默认抽象方法可以不写abstract,接口中的方法都是public
}
interface IsRunning{
  void run();
}
interface IsSwimming{
    void swim();
}
class Man extends Animal implements IsFlying,IsRunning,IsSwimming{


    public Man(String name) {

        super(name);
    }

    @Override       //接口中的方法要进行重写
    public void fly() {
        System.out.println(this.name + "学会做飞机飞~");
    }
    @Override
    public void run() {
        System.out.println(this.name + "学会在草地奔跑~");
    }
    @Override
    public void swim() {
        System.out.println(this.name + "学会在水里游泳~");
    }
}
  class Text{
    public static void main(String[] args) {
         Man man = new Man("小王");
          man.fly();
          man.run();
          man.swim();
    }
}

运行效果如图所示:

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值