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开发原则。接口的使用离不开多态机制。(接口+多态才可以达到降低耦合度。)

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

相关文章
|
5天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
25 6
|
5天前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
15 2
|
1天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
7 3
|
1天前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
8 2
|
1天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
8 2
|
1天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
8 1
|
2天前
|
Java 数据处理
|
2天前
|
存储 Java 开发者
Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效
【10月更文挑战第19天】在软件开发中,随着项目复杂度的增加,数据结构的组织和管理变得至关重要。Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效。本文通过在线购物平台的案例,展示了Map在商品管理、用户管理和订单管理中的具体应用,帮助开发者告别混乱,提升代码质量。
9 1
|
5天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
【10月更文挑战第16天】Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。通过 hashCode() 和 equals() 方法实现唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 添加和遍历元素,体现了 Set 的高效性和简洁性。
17 4
|
7天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。它通过 hashCode() 和 equals() 方法确保元素唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 实现这一特性。
15 5