接口(interface)

简介: 接口(interface)

接口(interface)概述

接口是类似抽象类的抽象化类型,自己不能实例化

接口就是一种公共的规范标准,只要符合规范标准,大家就可以通用
和Java里的抽象类类似,但是比抽象类更加抽象,接口内容要求比抽象类更苛刻

注意 : 每个类的默认父类是Object,但是可不能将接口和类混淆,Object类不是接口的默认父类


一、接口是什么?

接口:是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了抽象方法,静态常量,(在JDK8之后)接口里面又可以定义静态方法,与默认方法.
接口定义 : 接口的定义,它与定义类方法相似,但是使用interface关键字。它也会被编译成 .class文件,但一定要明确它不是类,而是另外一种引用数据类型。

public interface Animal{

                   //内容

}


二、接口与类的区别

  1. 接口不能用于实例化对象
  2. 接口没有构造方法
  3. 接口中所有的方法必须是抽象方法
  4. 接口中不能包含成员变量,除了 static 和 final 变量
  5. 接口不是被继承,而是被实现
  6. 接口支持多继承

三、接口与抽象类的区别

  1. 抽象类里面的抽象方法如果子类未实现,那么子类也是抽象类
  2. 接口里面也有抽象方法,子类实现抽象类,就必须实现父类所有的抽象方法,不然将该类定义成abstract类
  3. 接口实现的关键字是implements,而抽象是使用extends进行继承

4.在接口中,定义方法时候 public abstract默认存在, 定义成员时 public static final 默认存在
5.抽象类和接口 都不能被实例化,只有它的子类能继承或者实现来实例化
6.接口还可以继承父类,并且可以继承一个或多个,多个之间用逗号隔开
7.继承的多个父接口里面可能抽象方法名称一致,那么子类只需要实现一个
8.静态方法必须使用 接口名称 . 静态方法进行调用

9.默认方法必须使用子类 . 默认方法进行调用

# 四、 实现接口演示

这里定义一个A , B, C接口, 一个实现接口的类Test

这里演示通过类实现多接口

public interface A {
    
    void a();
}
public interface B {

    void b();
}
public interface C {

    void c();
}
public class Test implements A,B,C{

    @Override
    public void a() {

    }

    @Override
    public void b() {

    }

    @Override
    public void c() {

    }
}

这里演示通过接口继承,类实现单接口,间接实现多接口

public interface A extends B,C{

    void a();
}
public interface B {

    void b();
}
public interface C {

    void c();
}

public class Test implements A{

    @Override
    public void a() {

    }

    @Override
    public void b() {

    }

    @Override
    public void c() {

    }
}
相关文章
|
设计模式 开发框架 前端开发
项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?
存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用?
|
算法 网络虚拟化 数据安全/隐私保护
计算机网络——数据链路层(三)
计算机网络——数据链路层(三)
813 0
计算机网络——数据链路层(三)
|
存储 监控 算法
确保大文件上传数据完整性和准确性的方法
【10月更文挑战第17天】通过以上多种方法的综合运用,可以有效地确保大文件上传数据的完整性和准确性,为用户提供可靠的上传体验。同时,随着技术的不断发展,还需要不断地探索和创新,以适应不断变化的需求和挑战。
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
1434 4
|
网络安全 开发工具 git
|
消息中间件 前端开发 编译器
10种常见的软件架构模式简述
10种常见的软件架构模式简述
|
机器学习/深度学习 人工智能 自然语言处理
|
算法 C++ 容器
C++初阶之一篇文章教会你queue和priority_queue(理解使用和模拟实现)(下)
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。 此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。 优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器
|
敏捷开发 前端开发 测试技术
软件开发工作流【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
软件开发工作流【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
8796 1
|
域名解析 网络协议 算法