接口(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() {

    }
}

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值