​​​​​​​Java的接口(interface)

Java的接口(interface)

想了解接口(interface)我们先来看看接口的概念:(对修改关闭,对扩展开放

       接口狭义的来讲就是Java中的interface;广义的来讲就是对外提供规则的就是接口。

接口的特点:

1.接口是一种引用类型,可以等同看作类。修饰符 interface + 接口名
2.接口中只能出现常量(常量是静态的、公共的,默认修饰符:public static final(不写系统默认加上,没有顺序之分))和 抽象方法
3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的
4.接口中没有构造方法,接口也无法实例化
5.接口和接口之间可以多继承
6.一个类可以实现多个接口,这里的实现等同于继承
7.一个非抽象的类实现接口,需要将接口中所有方法实现/重写/覆盖

思考:为什么接口里面的值必须是常量final且静态static

因为借口不允许方法的实现,如果接口定义了变量,但是接口的方法又都是抽象的,在接口中是无法修改变量值的,当A继承了接口后,修改了变量的值;接着B也继承了该接口,但是此时B不知道接口中变量的值是否改变,这样就会造成混乱,因为接口的值是在变化的,此时接口就失去了原有的意义。所以,接口中只能定义常量,而且默认修饰符是public final static的。

 

有个博客解释的也挺好的:

知识点1:一个类,首先他会在内存里面有一个类对象,然后由类对象生成类的对象

知识点2:为什么接口Interface里面的值必须是常量呢? 因为类可以被实例化,实例化的类的对象里面的变量就会被赋初始值。比如String 是 null int是0,double是0.0。但是接口呢?接口不能被实例化,所以接口里面如果是变量的话不会被赋初始值这样就会出问题。所以接口里面的值必须是常量final而且一定是static不管写不写都是(这句话引用自李老师的讲课内容)

知识点3:那为什么它要是静态的呢?因为static是什么?是所有对象可以访问,而且可以直接通过类名访问。接口有对象么?显然没有,必须通过类名来访问所以是要静态的。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是王小贱

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

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

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

打赏作者

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

抵扣说明:

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

余额充值