接口定义

(一) 接口定义java

①Java接口是一系列方法的声明,是一些抽象的集合;程序员

②一个接口只有抽象方法没有方法的实现,所以这些方法能够在不一样的地方被不一样的类实现,而这些实现能够具备不一样的行为(功能);编程

③简单地说,接口就是特殊的抽象类,即全部方法都是抽象方法的抽象类就是Java中的接口(interface);学习

(二)接口的基本格式spa

[修饰符] interface 接口名 [extends 父接口名列表]{设计

[public] [static] [final] 常量;对象

[public] [abstract] 方法;}继承

①修饰符:可选,用于指定接口的访问权限,可选值为public。即便省略,也依然是public接口

②接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。通常状况下,要求首字母大写面向对象编程

③extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪一个父接口。当使用extends关键字时,父接口名为必选参数。父接口能够存在多个,用逗号隔开

④方法:接口中的方法只有定义而没有被实现

(三)接口的特色

①接口是一种特殊的抽象类

②接口中没有变量,只能有public static final修饰的静态常量。三个修饰符能够省略;

③接口中全部方法都是抽象方法,且默认就是public权限

public interface Flyer {

public static final int TYPE=1;

public abstract void fly();

public abstract void land();

public abstract void takeoff();

 

(四)类实现接口

①类实现接口,本质上与类继承类类似,区别在于“类最多只能继承一个类,即单继承,而一个类却能够同时实现多个接口”,多个接口用逗号隔开便可。实现类须要覆盖全部接口中的全部抽象方法,不然该类也必须声明为抽象类

②接口是抽象的,接口中没有任何具体方法和变量,因此接口不能进行实例化。接口定义的是多个类都要实现的操做,即“what to do”。类能够实现接口,从而覆盖接口中的方法,实现“how to do;

(五)类实现接口

[修饰符] class <类名> [extends 父类名] [implements 接口列表]{

}

①修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final

②类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。通常状况下,要求首字母大写

③extends 父类名:可选参数,用于指定要定义的类继承于哪一个父类。当使用extends关键字时,父类名为必选参数

④implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔

2、接口继承接口

(一)接口继承接口

①java接口继承接口的原则;

1.Java接口能够继承多个接口

2.接口继承接口依然使用关键字extends,不要错用成implements

②Java接口继承接口的形式;

Interface3 extends Interface0, Interface1, interface……

(二)接口继承与类继承

①接口继承与类继承对比:Java类的继承是单一继承,Java接口的继承是多重继承;

②接口可实现多继承缘由分析

1.不容许类多重继承的主要缘由是,若是A同时继承B和C,而B和C同时有一个D方法,A没法肯定该继承那一个

2.接口全都是抽象方法继承谁均可以,因此接口可继承多个接口

3、接口与抽象类区别

 

abstract class

interface

属性

不用限制

静态常量

构造方法

无关紧要

没有

普通方法

能够有具体方法

必须是抽象方法

子类

单一继承

多重实现

(一)区别总结

①abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。可是,一个类却能够实现多个interface.

②在abstract class 中能够有本身的数据成员,也能够有非abstarct的成员方法,而在interface中,只可以有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中通常不定义数据成员),全部的成员方法都是abstract的

③实现抽象类和接口的类必须实现其中的全部方法。抽象类中能够有非抽象方法。接口中则不能有实现方法

④接口中定义的变量默认是public static final 型,且必须给其初值,因此实现类中不能从新定义,也不能改变其值

⑤接口中的方法默认都是 public,abstract 类型的

4、接口的做用:面向接口编程

(一)接口的做用;

①接口是设计层面的概念,每每由设计师设计,将定义与实现分离

②程序员实现接口,实现具体方法;

③常见的类设计结构;

 

 

 

 

 

(二)面向接口编程

①面向接口编程和面向对象编程并非平级的,它并非比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分

②或者说,它是面向对象编程体系中的思想精髓之一

③面向接口编程的意思是指在面向对象的系统中全部的类或者模块之间的交互是由接口完成的

5、深刻理解接口的做用:Comparable接口

(一)Comparable接口

①Comparable接口中定义了比较方法,compareTo,返回值为int(忽略泛型,后续学习);

②当int值为正数,表示大于;为负数,表示小于;为0,表示等于;

③API中不少类实现了该接口,不少方法借助该接口;

④经过使用Arrays.sort(Object[])方法,理解该接口的做用,进一步理解接口的做用;

相关文章
相关标签/搜索