四月二十一号Java知识基础

2023-05-25,,

1.接口本身具有数据成员、抽象方法、默认方法、和静态方法,但它与抽象类不同

1)接口的数据成员都是静态的且必须初始化,即数据成员必须是静态常量

2)接口中除咯声明抽象方法外,还可以定义静态方法 和默认方法

2.接口定义格式:

[public] interface 接口名称 [extends 父接口列表]

{[public][static] 数据类型 常量名 = 常量

[public] [abstract] 返回值的数据类型 方法名(参数表)

[public] static 返回值的数据类型 方法名(参数表)

{

方法体

}

[public] default 返回值的数据类型 方法名(参数表)

{

方法体}}

3.注意:1)接口中的“抽象方法”只需要声明,不用定义其处理数据的方法体

2)数据成员必须是静态的且是赋初值的,即数据成员必须是静态常量

3)接口中的成员都是公共的,在定义接口时,若省略了public修饰符,在实现抽象方法时,则不能省略该修饰符

4.既然接口中有抽象方法,而抽象方法只需要声明而不用来定义方法体,所以接口与抽象类不能用new运算符创建对象

5.相反的,必须利用接口的特性创建一个新的类,然后再用它类创建对象

利用接口创建新类的过程称为接口的实现

6.接口实现的语言格式:

class 类名称 implements 接口名表

{

}

7.一个类实现一个接口时,注意问题:

1)如果实现某接口的类不是abstract的抽象类,则在类的定一部分必须指定接口的所有抽象方法,

即非抽象类中不能有抽象方法

2)一个类在实现某接口的抽象方法时,必须使用完全相同的方法头,否则只是在定义一个新方法,

而不是实现已有的抽象方法

3)接口中抽象方法的访问控制修饰符都已被指定为public,所以类在实现方法时,必须显示地使用

public修饰符,否则被系统警告为缩小接口中定义的方法的访问控制范围

4)与类一样,每个接口都被编译成独立的扩展名为.class的字节码文件

可以声明接口类型的变量或数组,并用它来访问实现该接口的类的对象

8.与类相似,接口也有继承性。定义一个接口时可通过extends关键字声明该新街口是某个已存在的

接口的子接口,它将继承父接口的常量,抽象方法和默认方法。

与类继承不同的是,一个接口可以有一个以上的父接口,它们之间用逗号分隔,形成父接口列表

新接口将继承所有父接口中的常量、抽象方法、默认方法,但不能继承父接口中的静态方法,也不能被

实现类继承

总结:今天天接触了接口,感觉比之前的复杂,是前面的综合,涉及到静态,构造方法,抽象方法以及继承

接口中的数据成员必须是静态且初始化,接口中除咯声明抽象方法外,还可以定义静态方法和默认方法

四月二十一号Java知识基础的相关教程结束。

《四月二十一号Java知识基础.doc》

下载本文的Word格式文档,以方便收藏与打印。