《java入门第一季》之面向对象面试题(fianl关键字)
2016-05-06 08:49
330 查看
/* 面试题:final修饰局部变量的问题 基本类型:基本类型的值不能发生改变。 引用类型:引用类型的(地址值)(不能发生改变),但是,该对象的堆内存的值是可以改变的。 */ class Student { int age = 10; } class FinalTest { public static void main(String[] args) { //局部变量是基本数据类型 int x = 10; x = 100; System.out.println(x); final int y = 10; //无法为最终变量y分配值 //y = 100;//y是最终的,不能再次被赋值!/基本类型的值不能发生改变 System.out.println(y); System.out.println("--------------"); //局部变量是引用数据类型 Student s = new Student(); System.out.println(s); System.out.println(s.age); s.age = 100;//堆内存中的值可以改变的 System.out.println(s.age); s = new Student();////重新分配内存空间,new一次就重新分配一次内存空间。此时改变了地址 System.out.println(s); System.out.println("--------------"); final Student ss = new Student();//引用类型被fianl修饰后,ss的地址不会再发生改变。不能再new一个值给ss了 System.out.println(ss); System.out.println(ss.age); ss.age = 200;//对象对应的堆内存中的值可以改变的 System.out.println(ss.age); //无法为最终变量ss分配值 ss = new Student();////重新分配内存空间错误,不能再new了,final修饰之后就限定 地址不再变化不能再new了。 //System.out.println(ss); } }
相关文章推荐
- 《java入门第一季》之面向对象面试题(fianl关键字)
- 一个合格的程序员应该读过哪些书
- 剑指offer 面试题63:二叉搜索树的第k个结点(二叉树中序遍历的应用) 题解
- 职场怪物品鉴录——北漂18年(54)
- 个人项目面试题
- 腾讯面试题(附答案)
- 【随笔】值得纪念的一天,重新出发,从心出发
- 10个值得深思的 PHP 面试问题
- 蜂窝教育Java培训:你不仅仅是Java程序员!
- 当用户提出需要一匹千里马时,追问一句为什么
- 聊聊职场规划那些事儿
- 一个合格的程序员应该读过哪些书
- 广州宇信易诚科技有限公司面试题
- 狸猫的面试——JVM内存回收
- 读《程序员的自我修养 —— 静态链接》乱摘
- java面试题
- string函数的面试题分析
- 《java入门第一季》之面向对象(一个易错面试题)
- 《java入门第一季》之面向对象(一个易错面试题)
- [置顶] Android开发工程师面试题之handler详解。android程序员,android开发面试资料,详解