四月二十一号Java知识基础

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关键字声明该新街口是某个已存在的

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

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

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

实现类继承

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

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

posted @   求知律己  阅读(56)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示