Java 接口(Interface)

简介: Java接口是抽象类型,定义方法规范而无实现。接口通过`interface`关键字定义,包含方法签名和常量。类可实现多个接口,实现接口必须覆盖所有方法。接口常用于多态、回调和模块化。一个类可继承一个抽象类并实现多个接口。接口中的常量默认为`public static final`。注意接口不能实例化,且多个接口同名方法可通过实现类重写避免冲突。接口继承多个接口时,规范冲突则不允许。

@[TOC]

接口(Interface)

1、接口是什么

Java接口是一种抽象类型,它定义了一组方法的规范,但没有具体的实现。接口可以被类实现,实现类必须实现接口中定义的所有方法。以下是Java接口的一些特点和用法:
接口的定义:使用关键字interface来定义接口,接口中可以包含方法的声明、常量的定义以及默认方法和静态方法的实现。
方法规范:接口中的方法只有方法签名,没有方法体。实现类必须提供方法的具体实现。
多继承:一个类可以实现多个接口,实现类可以获得多个接口的方法规范。
接口与抽象类的区别:接口只能定义方法规范,而抽象类可以包含方法的实现。一个类可以同时实现多个接口,但只能继承一个抽象类。
接口的应用:接口常用于定义回调函数、实现多态性、模块化程序设计等场景。通过接口,可以实现不同类之间的松耦合关系,提高代码的可维护性和扩展性。

2、接口定义

package com.demo1.dy04_interface;

public interface A {
   
    //成员常量
    String name="李四";
    //抽象方法
    void test();
}

3、接口的实现

1.接口的实现是通过定义接口实现类加以实现的。
2.接口实现类中==必须重写接口中定义的方法==。
3.一个接口实现类可以实现多个接口

package com.ham.demo1.dy04_interface;

public class D implements A {
   

    @Override
    public void test2() {
   
        System.out.println("444");
    }
}

4、接口常量

接口当中也可以定义”成员变量“,但是必须使用public static final 三个关键字进行修饰。
从效果上看,这其实就是接口的【常量】。
格式:
public static final 数据类型 常量名称 = 数据值;
一旦使用final关键字进行修饰,说明不可改变。

接口当中的常量,可以省略public static final,注意不写也照样是这样。
接口当中的常量,必须进行赋值,不能不赋值。
接口中常量的名称,使用完全大写的字符,使用下划线进行分割(推荐)

5、接口与继承

接口与继承是面向对象编程中两个重要的概念,它们之间存在一定的关系。
继承是一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以重用父类的代码,并且可以在此基础上添加新的属性和方法,或者修改已有的属性和方法。继承可以实现代码的重用和层次化的组织。
接口是一种规范或契约,它定义了一个类应该具有的方法和属性,但不提供具体的实现。接口只定义了方法的签名(名称、参数和返回类型),而没有具体的实现代码。一个类可以实现一个或多个接口,通过实现接口中定义的方法,来达到满足接口规范的目的。
口与继承的关系在于,一个类可以同时继承一个父类并实现一个或多个接口。通过继承父类,子类可以获得父类的属性和方法,并且可以通过重写父类的方法来实现自己的逻辑。通过实现接口,类必须提供接口中定义的方法的具体实现,以满足接口规范。
总结一下:
继承是一种类与类之间的关系,子类可以继承父类的属性和方法
接口是一种类与接口之间的关系,类通过实现接口来满足接口规范

6、注意事项

接口不能创建对象
2、一个类实现多个接口,多个接口的规范不能冲突
2、一个类实现多个接口,多个接口中有同样的静态方法不冲突。
3、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
4、一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。

🎉写在最后

🍻伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞👍或 Star ✨支持一下哦!手动码字,如有错误,欢迎在评论区指正💬~

你的支持就是我更新的最大动力💪~

目录
相关文章
|
4天前
|
Java
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
|
2天前
|
Java
Java中,有两种主要的方式来创建和管理线程:`Thread`类和`Runnable`接口。
【6月更文挑战第24天】Java创建线程有两种方式:`Thread`类和`Runnable`接口。`Thread`直接继承受限于单继承,适合简单情况;`Runnable`实现接口可多继承,利于资源共享和任务复用。推荐使用`Runnable`以提高灵活性。启动线程需调用`start()`,`Thread`直接启动,`Runnable`需通过`Thread`实例启动。根据项目需求选择适当方式。
12 2
|
5天前
|
Java API
java调用个人微信API接口收发朋友圈,删除评论朋友圈
java调用个人微信API接口收发朋友圈,删除评论朋友圈
|
23小时前
|
Arthas 监控 Java
Java项目方法调用链路耗时追踪(接口优化)
Java项目方法调用链路耗时追踪(接口优化)
5 0
|
1天前
|
Java 机器人 关系型数据库
Java中的类与接口:抽象与实现的艺术
Java中的类与接口:抽象与实现的艺术
|
2天前
|
Java
java使用Predicate接口中的test对数据进行判断
java使用Predicate接口中的test对数据进行判断
6 0
|
2天前
|
Java
java使用Supplier接口的get生产一个数据
java使用Supplier接口的get生产一个数据
3 0
|
2天前
|
Java
java函数式接口的三种实现方式
java函数式接口的三种实现方式
5 0
|
5天前
|
Java API 开发工具
企业微信api,企业微信sdk接口java调用源码
企业微信api,企业微信sdk接口java调用源码
|
5天前
|
Java API 开发工具
个人微信api接口java调用源代码
个人微信api接口java调用源代码