欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java接口中的成员变量为什么必须是static ?

发布时间:2025/3/8 java 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java接口中的成员变量为什么必须是static ? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

接口的含义

接口就是提供一种统一的协议, 而接口中的属性也属于协议中的成员。它们是公共的,静态的,最终的常量。相当于全局常量。

在interface里面的变量都是public static final 的。

 public static final int i=10;等价于int i=10;(可以省略掉一部分) //注意在声明的时候要给变量赋予初值

接口是一套标准,统一的入口。
  抽象类是不’完全’的类,相当于是接口和具体类的一个中间层.即满足接口的抽象,也满足具体的实现.

如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。
  如果接口A中有一个public访问权限的静态变量demo。按照java的语义,我们可以不通过实现接口的对象来访问变量a,通过A.demo = xxx;就可以改变接口中的变量demo的值了。
  正如抽象类中是可以这样做的,那么实现接口A的所有对象也都会自动拥有这一改变后的demo的值,所有这些对象中demo的值也都跟着变了。这和抽象类有什么区别呢
  所以接口中不能出现变量,如果有变量,就和接口提供的统一的抽象这种思想是抵触的。所以接口中的属性必然是常量,只能读不能改,这样才能为实现接口的对象提供一个统一的属性。

可以更深一步理解

假设一个类继承了多个接口,并且那么接口都声明了一个成员变量a,那么这个类究竟有几个a,对a赋值究竟是对继承的哪个赋值呢?这不是接口了,而是类了,这种继承也变成了多重继承。

总结

以上是生活随笔为你收集整理的Java接口中的成员变量为什么必须是static ?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。