Java中的接口

接口笔记

一、什么是接口?

生活中的接口: 插座 USB接口 手机充电器

二、为什么使用接口?

以上产品的厂家在生产产品的时候,都遵循一定的规范和协议。

Java接口是一个适合于多态性设计的机制。它是一种定义了一个或多个方法的抽象类型,是一种标准化的、约定性的编程机制,用于约束类的行为和规范。

三、如何定义接口?

[修饰符] interface 接口名称 [extends 其他的接口名] { // 声明常量 // 抽象方法 }

四、如何实现接口?

一个类使用implements关键字实现接口 语法: 类名 implements 接口名[,接口名];

案例1:不同的设备实现USB接口(U盘、硬盘、USB小风扇、USB声控灯)

案例2:不同厂家的数据库实现连接和关闭 数据库分类举例:mySQL、Oracle、DB2

五、接口的特点

1接口中默认都是常量(static final )默认为public static final修饰

2接口中的方法默认都是public abstract修饰的。

3一个类实现了接口就需要重写接口中的抽象方法, 如果没有重写抽象方法,这个类需要定义为抽象类

4一个类可以实现多个接口(String)

5接口中定义的方法,默认情况下使用public abstract修饰

6接口中的方法可以使用default修饰(Java8), default方法可以有默认的方法体,实现类可以不重写该方法。

7接口中可以定义静态方法, 直接通过接口名来调用, 不能通过实现类调用 8)接口支持多继承(interface 接口名称 [extends 其他的接口名]) 9)接口中没有构造方法, 接口不能实例化对象 10)接口定义的引用变量可以指向实现类的对象(接口多态)

8、Java 9 引入了接口私有方法的概念,可以在接口中定义私有方法,这些方法只有接口中的默认方法和静态方法才能调用。接口私有方法的主要作用是对接口中的默认方法和静态方法进行复用和代码复用,可以减小代码量,提高代码复用率。

六、抽象类和接口的区别

1、定义方式不同,抽象类使用abstract class声明,而接口使用interface关键字声明。

2、抽象类中有抽象方法,由子类重写(实现);接口是一组抽象方法的集合,接口中的方法默认都是抽象方法(public abstract修饰)且没有具体实现,由实现类去实现。

3、抽象类有构造方法,而接口没有构造方法。

4、类(包括抽象类)只能继承一个类,但可以实现多个接口。

5、抽象类和接口都是抽象层,都不能实例化。

6、接口用于规范类的行为,抽象类用于提高代码的复用性(减少代码冗余)。

7、抽象类中可以有变量,接口中只能定义常量。

8、抽象类中的方法可以是public、protected和default访问控制,而接口中的方法默认是public。

9、抽象类是对类抽象,接口是对行为抽象。 

  总之,抽象类是对类抽象,接口是对行为抽象。如果一个类具有一些共同的属性和行为,那么可以将这些共同的属性和行为放到抽象类中,让子类继承并实现其中的抽象方法。如果一个类只是具有一些共同的行为,那么可以将这些共同的行为定义到接口中,让实现该接口的类来实现其中的方法。

七、接口中的默认方法和静态方法的作用:

默认方法:默认方法是可以在接口中写执行体的。

主要作用:

1.接口升级,可以避免改变其他实现类。

2.函数拼接,格式:

public default 返回值方法名(){}

注意:接口的默认方法,可以直接使用实现类的对象进行调用,也可以在实现类中对其进行覆盖重写。

静态方法:

在接口中定义静态方法的作用就是静态方法的作用:不需要实例化,直接使用,节省内存空间。

第七条内容引自:

https://www.cnblogs.com/coder-ahao/p/13860310.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值