admin 管理员组

文章数量: 1184232


2024年1月11日发(作者:css实战训练)

精选文档

在java中,什么是接口,接口的特色是什么?

Java接口(Interface),是一系列方法的申明,是一些方

法特色的会集,一个接口只有方法的特色没有方法的实现,

接口就是java供给的一个面向对象的体系(就好似抽象方法和常量值的定义的会集,申明方法和类的申明方法差不多.<修饰符>interface<接口名>{

[<常量申明>]

[<抽象方法申明>]

}

接口是种类变换的前提、是动向调用的保证。实现某一接口

就完成了种类的变换(多重继承) ;动向调用只关怀种类,

不关怀详尽类。同时接口中全部的方法都是抽象方法

,并且接

口中的方法都默认是 public,abstract的,所以可以省略 2个修

饰符,但是正由于这样

,不可以使用和 public,abstract有矛盾的方

,但是不可以申明实例变量 .

法标示,在接口中也可以申明常量

java中的继承只好支持单一继承 ,所以.接口的供给为

1

精选文档

我们实现多继承供给了路径,这么理解就很方便了,),所以这些方法可以在不一样的地方被不一样的类实现,而这些实现可

以拥有不一样的行为(功能) 。

.接口含义:接口,Java语言中存在的构造,

有特定的语法和构造;2.一个类所拥有的方法的特色会集,

是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。Java接口自己没有任何实现,由于Java接

口不涉及表象,而只描述 public行为,所以Java接口比Java

抽象类更抽象化。 Java接口的方法只好是抽象的和公开

的,Java接口不可以有构造器,

Java接口可以有 public,静态

的和final属性。二.为什么用接口Java是一种单继承的语言,若要给已有父类的详尽类增添新功能,在OCP原则下,

解决是给它的父类加父类,或许给它父类的父类加父类,直到挪动到类等级构造的最顶端。这样一来,对一个详尽类的可插入性的设计,就变为了对整个等级构造中全部类的修

改。 当有了接口,以上例子中,就不需要保护整个等级结

构中的全部类了.三.接口具胡可插入性:在一个等级构造中的任何一个类都可以实现一个接口,这个接口会影响

到此类的全部子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类可以今后类自动继承这些方法,自然也可以选择置换掉全部的这些方法,或许此中的某一些方法,这时候,这些子类拥有了可插入性

2

精选文档

(并且可以用这个接口种类装载, 传达实现了他的全部子类 )。

接口供给了关系以及方法调用上的可插入性,软件系统的规

模越大,生命周期越长,接口使得软件系统的灵巧性和可扩

展性,可插入性方面获得保证。 正是有了接口,使得Java

单继承性有了新的扩展的可能 (变向地实现多继承 );三.种类

等级构造Java接口(以及抽象类)一般用来作为一个种类的等

级构造的起点。 假如一个类已经有了一个主要的超类

型,那么经过实现一个接口,这个类可以拥有另一个次要的

超种类,这类次要的超种类叫做混杂种类。 四.Java接口

分类1、一般接口(含有方法定义)publicinterface

ActionListener{public

abstractvoidactionPerformed(ActionEventevent);} 2、表记

接口(无任何方法和属性定义 )表记接口是没有任何方法和属

性的接口.表记接口不对实现它的类有任何语义上的要求, 它

不过表示实现它的类属于一个特定的种类。 public

interface

Serializable{};3、常量接口是指用 Java接口来申明一些常量,

而后由实现这个接口的类使用这些常量。 publicinterface

AppConstants{publicstaticfinal

DATA_SOURCE_NAME="test";publicstaticfinal

USER_NAME="test";public

staticfinalPASSWORD="test";} 五.接口的特色3

、Java

1

精选文档

接口中的成员变量默认都是 public,static,final种类的(都可省

略),一定被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分开)

2、Java接口中的方法默认都是 public,abstract

种类的(都可省略),没有方法体,不可以被实例化

3、Java接口中只好包括 public,static,final

public,abstract种类的成员方法

型的成员变量和

4、接口中没有构造方法 ,不可以被实例化

5、一个接口不可以实现 (implements)另一个

接口,但它可以继承多个其余的接口

6、Java接口一定经过类来实现它的抽象方法

7、当类实现了某个 Java接口时,它一定实现接

口中的全部抽象方法 ,不然这个类一定申明为抽象类

8、不一样意创立接口的实例 (实例化),但同意定义

4

精选文档

接口种类的引用变量 ,该引用变量引用实现了这个接口的类

的实例

5

精选文档

9、一个类只好继承一个直接的父类 ,但可以

实现多个接口,间接的实现了多继承 .

10.就是实现类一定实现接口中定义的方法;

.Java接口和Java抽象类差别面向对象设计的要点在

于抽象。抽象类与接口都位于继承树的上层。同样点:

1、代表系统的抽象层

,当一个系统使用一颗继承树上的类时 ,

应当尽量把引用变量申明为继承树的上层抽象种类,这样可以提升两个系统之间的送耦合

2、都不可以被实例化

3、都包括抽象方法 ,这些抽象方法用于描述系统能供给哪

些服务,但不包括方法体不一样点: 1、最大的一个差别,就

在于Java抽象类可以供给某些方法的部分实现,而 Java接

口不可以;这大概就是 Java抽象类独一的长处吧, 但这个优

点特别实用。 可以向抽象类里加入一个新的详尽方法,

全部的子类都自动获得这个方法;但

Java接口里加入一个

新方法,全部实现这个接口的类就没法成功经过编译,必要

手动给每个实现了该接口的类加上该方法的实现; 2、抽象

6

精选文档

类的实现只好由子类给出,也即该实现只好在抽象类定义的

7

精选文档

继承的等级构造中;所以抽象类作为种类定义工具的效能大

打折扣。 Java接口,任何一个实现了一个 Java接口所规

定的方法的类都可以拥有这个接口的种类,而一个类可以实

现随意多个

Java接口,从而这个类就有了多各种类。 以

上看出:Java接口是定义混杂种类的理想工具,混杂类表示

一个类不不过拥有某个主种类的行为,并且拥有其余的次要

行为。

3、联合1、2点中抽象类和 Java接口的各自优势,

具精典的设计模式就出来了:申明种类的工作仍旧由Java接口肩负,但是同时给出一个Java抽象类,且实现了这个接口,而其余同属于这个抽象种类的详尽类可以选择实

现这个Java接口,也可以选择继承这个抽象类, 也就是说在

层次构造中,Java接口在最上边,而后紧跟着抽象类,这下两个的最大长处都能发挥到极至了。这个模式就是“缺省适

配模式”。

依据必定的命名规范:

和抽象类的整体原则

窗口站在外界使用者

系统能供给哪些服务

在Java语言API顶用了这类模式,并且全都

Abstract+接口名。

:1、用接口作为系统与外界交互的

(另一个系统)的角度,接口向使用者承诺

,站在系统自己的角度

,接口拟定系统必

.经过接

A经过系统B进

七.使用接口

须实现哪些服务,接口是系统中最高层次的抽象种类

口交互可以提升两个系统之间的送耦合系统

行交互,是指系统A接见系统B时,把引用变量申明为系统B中的接口种类,该引用变量引用系统B中接口的实现类的实

8

精选文档

例。

publicinterfaceB

{

}

publicclassC

{

Ba=new

implementsB

{

}

publicclassA

,Java接口一旦制

C(); }

2、Java接口自己一定特别稳固

定,就不一样意随遇更为,不然对外面使用者及系统自己造成影响3、用抽象类来定制系统中的扩展点,抽象类来完成部分实现,还要一些功能经过它的子类来实现

9


本文标签: 接口 方法 实现 系统