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 ✨支持一下哦!手动码字,如有错误,欢迎在评论区指正💬~

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

目录
相关文章
|
3天前
|
存储 算法 Java
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
【6月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
6 3
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
|
3天前
|
设计模式 Java 容器
在Java中调用一个接口的多个实现类
在Java中调用一个接口的多个实现类
11 4
|
1天前
|
Java
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
|
1天前
|
Java API
java调用个人微信API接口收发朋友圈,删除评论朋友圈
java调用个人微信API接口收发朋友圈,删除评论朋友圈
|
1天前
|
Java API 开发工具
企业微信api,企业微信sdk接口java调用源码
企业微信api,企业微信sdk接口java调用源码
|
1天前
|
Java API 开发工具
个人微信api接口java调用源代码
个人微信api接口java调用源代码
|
1天前
|
XML 存储 自然语言处理
基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理
基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理
|
5天前
|
Java
Java编程不再难:一文看懂抽象类与接口的区别和联系!
【6月更文挑战第17天】在Java OOP中,抽象类与接口助你构建复杂应用。以图书管理系统为例,抽象类`Book`作为基类提供共享属性和方法,不直接实例化。接口如`HasChapters`和`HasIssues`定义特殊行为。抽象类支持部分实现,单继承,适合共享行为;接口仅含常量和抽象方法,多实现,强调行为规范。通过继承和实现,实现代码复用和系统扩展性。理解两者异同,是提升Java编程能力的关键。
|
5天前
|
Java 开发者 C++
Java面向对象的终极挑战:抽象类与接口的深度解析!
【6月更文挑战第17天】在Java OOP中,抽象类和接口助力代码复用与扩展。抽象类不可实例化,提供通用框架,适合继承;接口包含纯抽象方法,支持多态与松耦合。选择抽象类用于继承已有方法和状态,接口则适用于不相关类共享行为。Java 8后接口能含默认方法,增加设计灵活性。抽象类与接口常结合使用,以实现最佳设计,如`Shape`抽象类实现`Drawable`和`Selectable`接口,展现两者协同优势。理解和熟练运用这对概念是提升代码质量的关键。
|
5天前
|
Java
Java编程界的黑魔法:利用抽象类和接口提升你的代码质量!
【6月更文挑战第17天】在Java中,抽象类和接口是提升代码质量的关键。抽象类通过提供共享接口和部分实现减少冗余,强制子类实现标准,并作为扩展点。接口则定义行为契约,促进多态性、松耦合和易扩展性。两者结合使用,可以在保证灵活性的同时增强代码结构和可维护性,为复杂系统的构建打下坚实基础。