接口与继承详解

接口继承是出自设计模式中的一个概念。接口继承,又称子类型化。描述了一个对象什么时候能够被用来替代另一个对象。

1、接口概念

接口的基本概念

接口可以多继承接口 ,是因为接口只定义行为,并不包含类别的含义,不指代具体的某类事物, 而且, 从语义上来说 ,接口对接口的继承称之为扩展更为合适。

Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

2、什么是接口

接口的两种含义:

一,Java接口Java语言中存在的结构,有特定的语法和结构;

二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。

[访问修饰符] interface 接口名{

    [访问修饰符]字段;

    [访问修饰符]方法;

}

例如:

    public interface fruit { //创建一个名为fruit的接口

        String a = "123"; //在接口中定义字段

        double PI = 3.14;

        float saleFruit(); //在方法中定义方法saleFruit()

        float buyFruit();

    }

    public interface fruit1 { //创建一个名为fruit1的接口

        float saleFruit(); //在方法中定义方法saleFruit1()

    }

3、接口使用

class testInterface implements fruit, fruit1 {

    public float buyFruit() {

        //此处是方法的实现

        return 0;

    }

    public float saleFruit() {

        //此处是方法的实现

        return 0;

    }

    public float saleFruit1() {

        //此处是方法的实现

        return 0;

    }
}
package com.liuxd;

/**
 * Created by Liuxd on 2018/10/31.
 */
public abstract class testInterface implements fruit {

    public float buyFruit() {

        return 0;

    }

}

JAVA的核心概念:接口(interface)

  1、接口与类属于同一层次,实际上,接口是一种特殊的抽象类

interface IA{

}


  public interface:公开接口


  2、与类相似,一个文件只能有一个public接口,且与文件名相同。

  在一个文件中不可同时定义一个public接口和一个public类。

        3、一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。

        一个类实现一个接口的格式:
 

 class IAImple implements IA{
 };

        4、一个类实现接口,相当于它继承一个抽象类

        类必须实现接口中的方法,否则其为一抽象类。实现中接口和类相同。

       5、接口中可不写public,但在子类中实现接口的过程中public不可省。

  (如果剩去public则在编译的时候提示出错:对象无法从接口中实现方法。)


  6、一个类除继承另外一个类,还可以实现接口;简言之:单继承多实现。  

class IAImpl extends java.util.Arrylist implement IA{
}

  继承类 实现接口
  这样可以实现变相的多继承

  一个类只能继承另外一个类,但是它可以继承多个接口,中间用“,”隔开。

  Implements IA,IB

  7、所谓实现一个接口,就是指实现接口中的方法。

  接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。

  例:interface IC extends IA,IB{};

  接口也可以用于定义对象

  IA I=new IAImpl();

  8、实现的类从父类和接口继承的都可做运行时类型

  IAImple extends A implement IA,IB

  IB I=new IAImple();

  I instance of IAImple;

  I instance of A;

  I instance of IA;

  I instance of IB;

  返回的结果均为true.

接口和多态都为JAVA技术的核心。

       接口往往被我们定义成一类XX的东西。

  接口实际上是定义一个规范、标准。

       通过接口可以实现不同层次、不同体系对象的共同属性;

  通过接口实现write once as anywhere。

  以JAVA数据库连接为例子:JDBC制定标准;数据厂商实现标准;用户使用标准。

  接口通常用来屏蔽底层的差异。

  因此接口也因为上述原因被用来保持架构的稳定性。

 

猜你喜欢

转载自blog.csdn.net/jiahao1186/article/details/83589680
今日推荐