刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
面试题
使用final修饰的变量是引用不能变,还是引用的对象不能变 ?
使用微信搜索喵呜刷题,轻松应对面试!
答案:
分析&回答
是引用不能变,即对象的指向不能变,但引用的对象即引用里的值是可以变得,因为它又没有用final修饰。
基本数据类型的值是不能更改的
比如:final int a=1;a=2;
那肯定编译也过不了,因为a是final修饰的不可改变;a原来指向1,后来指向2;a的指向变了。
引用类型的值是能更改的
比如:final int[] arr= {1,2,3}; arr[0]=2;
这种是可以的。因为arr的指向并没有变 只不过它里边的值可以变。
反思&扩展
final 修饰的变量什么时候赋值?
- final 修饰成员变量是在实例初始化的时候被赋值的。
- final static int a = 1; //准备阶段赋值
- final static Object c = new Object(); //初始化阶阶段赋值
创作类型:
原创
本文链接:使用final修饰的变量是引用不能变,还是引用的对象不能变 ?
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



