【第22期】观点:IT 行业加班,到底有没有价值?

课时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();
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

作为学科的计算科学(上、中、下)

作为学科的计算科学(上、中、下) 分类: 1.1 自然科学 1.x.1 科普 1.1.1 信息技术 1.2.1.1 职业规划 1.2.1.2 行业知识2009-10-15 17:29 1...

计算机科学与数学

计算机科学与数学 (2011-10-09 08:49:32) 标签: 校园 分类: 工作篇 计算机科学       计算机科学com...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

GameBook【转贴】

书(Book)     信息(Information)

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

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

java认证课程(1~4)-pconline.com.cn

关于本课程本书的主要目标是为你提供有关Java应用和Java applets的面向对象的程序设计所必需的知识和技能;并讲授Java编程语言句法和面向对象的概念,以及Java运行环境的许多特性, 对图形...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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