java 接口中的定义的变量为什么是 static final的? java 接口中的定义的变量为什么是 static final的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么说不明白,这是别人就这么做的设计规范,没有为什么?java接口本来就是做规范的,如果是变量而不是常量就没意义了。 因为接口本来就是别人拿来用的,是一种规范,你想如果它里面的变量不是static final,那别人拿这个接口来使用的时候,你定义的这个变量还有什么作用呢 楼主,,接口中定义一个常量的格式是public static final int/float/... = ....;其中public 可以省略,,但是省略不代表修饰符是default类型的,它仍然是public类型的 在接口的字节码被装载到虚拟机的时候他的常量就得被访问,所以他必须是static final的static final叫编译期常量,不需要初始化就能读取。 java 接口是一个纯粹的抽象类,不提供任何具体的实现,只是提供了一个协议,实现它的子类共同遵守这份协议。接口A中的属性a如果可以定义为静态变量,那么就可以直接通过A.a=xxx;的方法直接修改该属性,而这样做是不安全的。因为接口中的属性是所有实现它的子类共享的,是全局变量,每一个更改都会影响所有的子类。 jsp中获取arraylist的长度 谁那有java泛型的视频呀?还有注册工厂是怎么回事呀? 关于同步的问题 请问如何截取一个double类型的数据 java 垃圾回收的问题 怎样设置布局使,显示如下效果 大家帮忙看一下,帮解决了,很简单的一个问题! 怎么配置JDK的环境,以使JAVA能和MYSQL数据库连接到一起呀!!! 新手上路:一个类里能使用多个事件适配器嘛? 异常捕获问题 为什么执行System.out.println(073);输出的是59? 用jfreechar做一个简单的折线图???
java接口本来就是做规范的,如果是变量而不是常量就没意义了。
public static final int/float/... = ....;其中public 可以省略,,但是省略不代表修饰符是default类型的,它仍然是public类型的
static final叫编译期常量,不需要初始化就能读取。