java中的final修饰属性时,是指内容不变还是引用不变? 谁能从虚拟机的角度解释一下,谢谢:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当含有final属性的类被加载进内存并且被实例化的时候,就会为这个final属性分配内存,同时必须对该属性进行初始化,之后不可变。也就是说如果是基本类型的,那么它的值不能再改变;如果是对象,则引用不可变,而对象本身还是可以改变的 说的很清楚了!final int id = 1; // 基本类型,不可改变final Object obj = new Object(); // 则引用不可改变,但 obj里面的属性可以改变! 我还有一个问题,对于接口的定义Interface A{ final Obj b = new Obj("123");//大家觉得这行有错误么?为什么?} 接口中的成员变量默认的就是static final类型的,表示的是顶级的属性。不应该再加上final的。 错误的,在接口中默认是final类型 应该不会报错吧,默认是fianl了,你写出来也是一样了 final修饰基本类型的变量时,表示常量,修饰引用类型时表示对象变量的值不变,对象里面的内容可以改变。 java如何实现数值型二维数组和txt文件间的读存 Java如何知道 某个文件 正在被哪些进程读取 一个简单的JAVA程序 请教浏览器不支持applet的解决办法 JBuilder里如何生成.exe 请问如何设置look and feel中的字体? 求救关于jtextpane中的文本对齐 请问 Hashtable<?,?> 是甚莫意思 在做一个编辑器,想实现像vstudio一样有关键字或者方法的提示菜单的功能,大虾们有什么好建议? 求助java socket 程序编译通过了,运行不起来,大家给点建议 怎么第二次checker.isAlive()还是false
说的很清楚了!final int id = 1; // 基本类型,不可改变
final Object obj = new Object(); // 则引用不可改变,但 obj里面的属性可以改变!
Interface A
{
final Obj b = new Obj("123");//大家觉得这行有错误么?为什么?
}