Java重点 | 接口

简介: 本文主要详细的介绍了Java中的接口,并且通过大量的举例,代码实战,带你深入浅出的理解接口。

接口

接口的概述和生活举例

在这里插入图片描述

接口定义的基本格式

**接口就是多个类的公共规范。
接口是一种引用数据类型,最重要的内容就是其中的:抽象方法**

如何定义一个接口的格式:

public interface 接口名称{ 
     //接口内容
 }
**备注:换成了关键字interface之后,编译生成的字节码文件仍然是:java-->.class。
如果是Java7,那么接口中可以包含的内容有:
1.常量
2.抽象方法
如果是Java8,还可以额外包含有:
3.默认方法
4.静态方法
如果是JavaT9,还可以额外包含有:
5.私有方法**

接口的抽象方法定义


/*在任何版本的Java中,接口都能定义抽象方法。格式:
public abstract 返回值类型 方法名称(参数列表);
注意事项:
1接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
这两个关键字修饰符,可以选择性地省略。
3.方法的三要素,可以随意定义。*/

public interface MyInterfaceAbstract{

    //这是一个抽象方法
    public abstract void methodAbs1();
    
    //这也是抽象方法
    abstract void methodAbs2();
    
    //这也是抽象方法
    public void methodAbs3();
    
    //这也是抽象方法 
    void methodAbs4();
}

接口的抽象方法使用

在这里插入图片描述

实现类可以理解为继承中的子类,使用方法和抽象方法基本上一样的

举例配合理解:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

接口的默认方法定义

在这里插入图片描述

例如:当在接口中新添一个抽象方法,那么就必须要在后面的实现类中再次写入重写覆盖,而接口的默认方法不用。

接口的默认方法使用

1.接口的默认方法,可以通过接口实现类对象,直接调用。
2.接口的默认方法,也可以被接口实现类进行覆盖重写。

举例配合理解:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口的静态方法定义与使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口的私有方法定义

在这里插入图片描述

接口的私有方法使用

注意:cc 和 ff 只能被本类访问
在这里插入图片描述
在这里插入图片描述

接口的常量定义和使用

在这里插入图片描述
在这里插入图片描述
使用方式:直接通过接口名.常量名

接口的内容小结

[]代表可省略的关键字
在这里插入图片描述

特别注意:一个类可以实现多个接口;extends和implements可以共存,extends在前,implements在后;使用接口写代码的时候,可以使用多态(父亲类型引用指向子类型对象)。

继承父类并实现多个接口

在这里插入图片描述

**如果想要继承父类也实现接口
格式 public class Zi extends Fu implements 接口名{}
extends在前,implements在后**

接口与接口之间的多继承

在这里插入图片描述
举例配合理解:
在这里插入图片描述
在这里插入图片描述

接口在开发中的作用

总结一句话:三个字"解耦合"
面向接口编程,可以降低程序的耦合度,提高程序的扩展力。符合OCP开发原则。接口的使用离不开多态机制。(接口+多态才可以达到降低耦合度。)

接口可以解耦合,解开的是谁和谁的耦!!!
任何一个接口都有调用者和实现者。
接口可以将调用者和实现者解耦合。
调用者面向接口调用。
实现者面向接口编写实现。
以后进行大项目的开发,一般都是将项目分离成一个模块一个模块的,模块和模块之间采用接口衔接。降低耦合度。

相关文章
|
12天前
|
存储 算法 Java
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
【6月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 3
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
|
2天前
|
Java 开发者
Java中的Lambda表达式与函数式接口
【6月更文挑战第28天】在现代的Java编程实践中,Lambda表达式和函数式接口已经成为提升代码简洁性和可读性的重要工具。本文将深入探讨Lambda表达式的基本概念、语法结构以及如何与函数式接口结合使用,旨在帮助开发者更好地理解和运用这一特性,以编写出更加优雅和高效的Java代码。
|
4天前
|
Java API 开发者
探索Java中的Lambda表达式和函数式接口
【6月更文挑战第25天】在Java的世界里,Lambda表达式的引入标志着一种全新的编程范式——函数式编程。本文将通过深入解析Lambda表达式及其与函数式接口的结合使用,带领读者领略这一特性如何简化代码,提升开发效率。
|
9天前
|
Java
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
|
7天前
|
Java
Java中,有两种主要的方式来创建和管理线程:`Thread`类和`Runnable`接口。
【6月更文挑战第24天】Java创建线程有两种方式:`Thread`类和`Runnable`接口。`Thread`直接继承受限于单继承,适合简单情况;`Runnable`实现接口可多继承,利于资源共享和任务复用。推荐使用`Runnable`以提高灵活性。启动线程需调用`start()`,`Thread`直接启动,`Runnable`需通过`Thread`实例启动。根据项目需求选择适当方式。
19 2
|
11天前
|
设计模式 Java 容器
在Java中调用一个接口的多个实现类
在Java中调用一个接口的多个实现类
19 4
|
9天前
|
Java API
java调用个人微信API接口收发朋友圈,删除评论朋友圈
java调用个人微信API接口收发朋友圈,删除评论朋友圈
|
3天前
|
Java 编译器
论Java中的抽象类与接口
论Java中的抽象类与接口
|
5天前
|
Arthas 监控 Java
Java项目方法调用链路耗时追踪(接口优化)
Java项目方法调用链路耗时追踪(接口优化)
7 0
|
5天前
|
Java 机器人 关系型数据库
Java中的类与接口:抽象与实现的艺术
Java中的类与接口:抽象与实现的艺术