接口(interface)

本文涉及的产品
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
简介: 接口(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() {

    }
}
相关文章
|
开发框架
浅谈 接口(Interface)的作用
 继承"基类"跟继承"接口"都能实现某些相同的功能,但有些接口能够完成的功能是只用基类无法实现的 1.
1067 0
|
1月前
|
C#
C# 接口(Interface)
接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。 接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。 接口使得实现接口的类或结构在形式上保持一致。 抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。 接口本身并不实现任何功能,它只是和声明实现该接口的对象订立一个必须实现哪些行为的契约。 抽象类不能直接实例化,但允许派生出具体的,具有实际功能的类。
45 9
|
Java 开发者
抽象类(abstract class)和接口(Interface)的区别
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
|
安全 架构师 Java
java接口(interface)的四个作用
java接口(interface)的四个作用
296 0
接口(interface)
接口是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。最重要的就是其中的抽象方法
|
网络虚拟化 网络协议 ARouter

热门文章

最新文章