课时57 | 接口的概念和作用

原创 2016年08月30日 22:51:33

接口语法:

  1. 接口中只能包含静态常量,抽象方法。
  2. Java接口是对功能的扩展;
  3. 通过实现接口,Java类可以实现多实现;
    4.一个类可以同时继承(extends)一个父类,并且实现(implements)多个接口;
    5、接口与接口之间可以使用extends实现继承关系。

接口与抽象类的区别:

1.抽象类和具体实现类之间是一种继承关系,也就是说,如果采用抽象类的方式,则父类和子类在概念上应该是相同的;
2. 接口和实现类在概念上不要求相同,接口只是抽取相互之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为;
3. 抽象类是对一组具有相同属性和行为的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和行为的逻辑上不相关的事物的一种抽象;
4.抽象类用于一组相关的事物,表示的是“”is-a“”的关系;接口用于一组不相关的事物,表示的事“”like-a“”的关系。

interface IAbility{
    /*public static final*/ int number=1;
    /*public abstract*/   //void show();
    void eat();
}

class Child implements IAbility{
    public void eat(){
        System.out.println("Drinking Milk");
    }
}

class Dog implements IAbility{
    public void eat(){
        System.out.println("Eating bones");
    }
}

因此,在Person()类里,可以把feed child和feed dog抽象成一个接口,具体实现,则放在child和dog类中

注意:

  • 接口的引用变量可以引用其实现类的对象;
  • 抽象类的引用变量可以引用其实现类(子类)的对象;
  • 父类的引用变量可以引用其实现类的对象。
class Person{
    /*
    public void feed(Child child){
        child.eat();
    }
    public void feed(Dog dog){
        dog.eat();
    }
    */
    //Implement an ability that child and dog both share
    public void feed(IAbility ability)
    {
        ability.eat();
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

课时9 磁盘基本概念(磁盘、分区、MBR与GPT)

Linux课程学习笔记来源于网易云课堂:Linux 入门基础 (1)Cylinder柱面 Sector扇区 Head磁头 (2)磁盘在Linux中的表示 Linux所有设备都抽象为一个文件,保...

第14课时 DOM基础概念、操作

DOM:Document object Model 文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义 为了能够让程序(js)去操作页面中打个元素。 DOM会把文档看做是一棵树...

新概念3笔记56-57

  • 2008-05-27 09:13
  • 13.32MB
  • 下载

MFC的概念和作用

(一)全程:Microsoft Foundation Class Library 我们称:微软基础类库 从硬盘的存在形式上来说,MFC就是一个库(动/静态) 从原理上说,MFC还是一个程序的框...

FMC接口标准VITA57

  • 2015-06-07 13:39
  • 1.67MB
  • 下载

Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下。写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠谱的。   由浅入深,主要介绍maven的用途、核心概念(Pom、...

云计算的概念和作用

  • 2013-03-14 00:32
  • 31KB
  • 下载

MPLS的概念、原理与作用

  • 2011-09-07 15:18
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)