黑马程序员技术交流社区
标题:
一串关于成员变量和局部变量初始化值区别的小代码:
[打印本页]
作者:
hsy
时间:
2014-8-19 09:57
标题:
一串关于成员变量和局部变量初始化值区别的小代码:
class Student
{
int age;//这是成员变量
public void show()
{
int age;//这是局部变量
System.out.println(age);
}
}
class StudentTest
{
public static void main(String[] args)
{
//创建对象
Student s = new Student();
s.show();
}
}
代码运行会有错吗?当然会错,报的是尚未初始化的错误。
稍微解析一下吧,当show()方法打印输出的时候,使用的是局部变量age,而不是成员age,遵循的是就近原则,局部变量是没有初始化值的。
当你把那个局部变量的age代码注释掉,再运行就不会报错。这时候使用的是成员age,成员变量是有初始化值的。
作者:
从今以后
时间:
2014-8-19 12:10
支持一下楼主~
作者:
潘多拉
时间:
2014-8-19 12:55
上面说的没错,遵循就近原则,所以打印输出的事局部变量,而局部变量要被使用必须有初始化值,否则会报错,成员变量的话有默认初始化值0,可以直接使用;
作者:
itheimaXYP
时间:
2014-8-19 13:18
感谢分享
作者:
陈永赛
时间:
2014-8-19 13:47
感谢分享,这种代码对0基础的哥们来说还是很有用滴···必须支持
作者:
qq541955920
时间:
2014-8-19 18:10
赞一个。支持一下
作者:
忘了一切更好
时间:
2014-8-19 22:57
赞一个!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2