社区
Java SE
帖子详情
JAVA中接口(interface)中的成员变量为什么public static final 的?
iDuanyingjie
2012-06-04 09:48:17
如题:
在百度贴吧里面看到一个答案里面说的是:
接口中的数据对所有实现类只有一份,所以是static
不是很理解这句话!为什么接口中的数据对所有实现类只有一份?
谢谢!
...全文
628
12
打赏
收藏
JAVA中接口(interface)中的成员变量为什么public static final 的?
如题: 在百度贴吧里面看到一个答案里面说的是: 接口中的数据对所有实现类只有一份,所以是static 不是很理解这句话!为什么接口中的数据对所有实现类只有一份? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sai123q
2012-06-06
打赏
举报
回复
接口就是框架
比如造房子 接口就是设计图
设计图里有必要 放一块砖头吗?
weiwei_good_java
2012-06-06
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
static的话实现这个接口的类,就可以直接使用这个数据。
final 关键字:
1 final数据:对于基本类型前加以final修饰,表示被修饰的变量为常数,不可以修改。一个既是static又是final的字段表示只占据一段不能改变的存储空间。
final用于对象应用时,final使应用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。
……
[/Quote]
你说得有道理的
beiouwolf
2012-06-05
打赏
举报
回复
从编译上来说,interface是抽象的,不能被实例化,所以你不能往里面写一个实例对象,而static对象作用于类定义,static对象的初始化在类被声明的时候,所以interface可以包含一个static属性
从接口定义来看,interface是用于对象的方法规范的,所以也不存在实例化变化
不知道你不明白的到底是接口还是说static对象
建立翻翻书,好好看看接口和static的描写
xlhb
2012-06-05
打赏
举报
回复
static的话实现这个接口的类,就可以直接使用这个数据。
final 关键字:
1 final数据:对于基本类型前加以final修饰,表示被修饰的变量为常数,不可以修改。一个既是static又是final的字段表示只占据一段不能改变的存储空间。
final用于对象应用时,final使应用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。
wscxy31415926
2012-06-05
打赏
举报
回复
我感觉可能是接口不能被实例化,在内存中存储需要存储在内存静态区。
iDuanyingjie
2012-06-05
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
从编译上来说,interface是抽象的,不能被实例化,所以你不能往里面写一个实例对象,而static对象作用于类定义,static对象的初始化在类被声明的时候,所以interface可以包含一个static属性
从接口定义来看,interface是用于对象的方法规范的,所以也不存在实例化变化
不知道你不明白的到底是接口还是说static对象
建立翻翻书,好好看看接口和static的描……
[/Quote]
感觉你说的和3楼差不多一个意思,就是接口不能被实例化,所以接口里面的成员属性不是静态的就没有意义了!
sffx123
2012-06-05
打赏
举报
回复
从接口的作用来看,接口就是一组规范,既然是规范,里面的内容(数据)必须是确定的,不能每个实现的类都不同,那么接口的意义就没有了。
Study
2012-06-05
打赏
举报
回复
楼上正解
iDuanyingjie
2012-06-04
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
我是这么理解的,interface是抽象的,不能被实例化,他的成员变量属于类,所以用static声明。如果不用static声明,则表示成员变量属于对象。ok,回到原点,interface不能创建对象,那定义对象成员有意义吗?我也是个菜鸟,如有理解错的地方,请高人指点。
[/Quote]
接口严格意义上来讲,他不是一个类,你可以把他看成一个功能的扩展,第二点讲的不错!
ffa15
2012-06-04
打赏
举报
回复
我是这么理解的,interface是抽象的,不能被实例化,他的成员变量属于类,所以用static声明。如果不用static声明,则表示成员变量属于对象。ok,回到原点,interface不能创建对象,那定义对象成员有意义吗?我也是个菜鸟,如有理解错的地方,请高人指点。
iDuanyingjie
2012-06-04
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
static的话实现这个接口的类,就可以直接使用这个数据。
final 关键字:
1 final数据:对于基本类型前加以final修饰,表示被修饰的变量为常数,不可以修改。一个既是static又是final的字段表示只占据一段不能改变的存储空间。
final用于对象应用时,final使应用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。
[/Quote]
不是,这还是没解释为什么啊!
未来纪元
2012-06-04
打赏
举报
回复
static的话实现这个接口的类,就可以直接使用这个数据。
final 关键字:
1 final数据:对于基本类型前加以final修饰,表示被修饰的变量为常数,不可以修改。一个既是static又是final的字段表示只占据一段不能改变的存储空间。
final用于对象应用时,final使应用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。
Java
接口
中
的
成员变量
是
public
static
final
?
我们可以在
接口
中
定义一些所需要的属性,比如:
interface
My
interface
{ int a = 0; } System.out.println...那么,为什么
Java
接口
中
的
成员变量
是
public
static
final
? 假设不是
static
,因一个类可以实现多个接
【
Java
基础知识】
Java
接口
中
的
成员变量
为何必须是
public
static
final
一、
Java
接口
中
的
成员变量
为何必须是
public
static
final
接口
中
的
成员变量
只有一种类型,
public
static
final
,所以可以直接省去修饰符。 为什么
接口
的变量修饰符必须是
public
static
final
类型呢? ①首先
接口
是...
java
,
接口
的变量为啥要是
public
static
final
?
接口
中
的变量默认是
public
static
final
?
public
:
接口
可以被不同包的不同类实现,是公有的,
static
:一个类继承多个
接口
时,即使存在同名变量也不会混淆。如果每个
接口
都含有一个名为a的
成员变量
,那么在该类
中
可...
Java
接口
里定义的
成员变量
为什么是
public
static
final
的?
在
interface
里面的变量默认都是
public
static
final
的。 注意在声明的时候要给变量赋予初值。 解释: 什么是
接口
?
接口
就是提供一种统一的“协议”,而
接口
中
的属性也属于“协议’
中
的成员。它们是公共的, ...
接口
里定义的
成员变量
必须是
public
static
final
类型
在
interface
里面的变量都是
public
static
final
的。所以你可以这样写:
public
static
final
int i=10; 或则 int i=10;(可以省略掉一部分) 注意在声明的时候要给变量赋予初值 解释: ...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章