您的位置:首页 > 其它

面向对象_final关键字修饰局部变量

2016-10-04 14:23 162 查看
/*
面试题: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;
System.out.println(y);
System.out.println("--------------------");

//局部变量是引用数据类型
//创建Student对象
Student s = new Student();
System.out.println(s.age);
s.age = 100;
System.out.println(s.age);
System.out.println("--------------------");

final Student ss = new Student();
System.out.println(ss.age);
ss.age = 100;
System.out.println(ss.age);

//重新分配内存空间
//无法为最终变量 ss 指定值
/*
例:教室编号001,被final了。教室不能改变,但是教室里面的学生可以改变
*/
ss = new Student();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: