作用域: 指可访问变量
![](/icons/64966de.gif)
![](/icons/64966yi.gif)
段代码
![](/icons/64966dou.gif)
在
![](/icons/64966chengxu.gif)
中区别
![](/icons/64966de.gif)
地方声明
![](/icons/64966de.gif)
变量具有区别
![](/icons/64966de.gif)
作用域
![](/icons/64966dou.gif)
例如:局部变量
![](/icons/64966dou.gif)
全局变量等
局部变量(Local Variable)又叫做自动变量(Automatic Variable)、临时变量(Temporary Variable)或栈变量(Stack Variable)
![](/icons/64966dou.gif)
它是定义在思路方法或思路方法里
![](/icons/64966de.gif)
![](/icons/64966chengxu.gif)
块中
![](/icons/64966de.gif)
变量
![](/icons/64966dou2.gif)
局部变量
![](/icons/64966de.gif)
重要特点是只能被包含它
![](/icons/64966de.gif)
思路方法或思路方法里
![](/icons/64966de.gif)
![](/icons/64966chengxu.gif)
块使用
![](/icons/64966dou2.gif)
另外
![](/icons/64966dou.gif)
局部变量在被使用前
![](/icons/64966yi.gif)
定要
![](/icons/64966chushi.gif)
化
![](/icons/64966dou.gif)
否则会带来
![](/icons/64966cuowu.gif)
和局部变量相应
![](/icons/64966de.gif)
是全局变量(Global Variable),有两种
![](/icons/64966dou.gif)
其中
![](/icons/64966yi.gif)
种叫做例子变量(Instance Variable)
![](/icons/64966dou.gif)
另
![](/icons/64966yi.gif)
种叫做类变量(Class Variable)
![](/icons/64966dou2.gif)
例子变量是定义在类中
![](/icons/64966de.gif)
变量
![](/icons/64966dou.gif)
可以被类
![](/icons/64966de.gif)
所有对象使用
![](/icons/64966dou.gif)
所以作用范围是全局
![](/icons/64966de.gif)
![](/icons/64966dou2.gif)
另外
![](/icons/64966dou.gif)
例子变量在被使用前不需要
![](/icons/64966chushi.gif)
化
![](/icons/64966dou.gif)
会获得
![](/icons/64966yi.gif)
个默认值
![](/icons/64966dou2.gif)
类变量也是定义在类中
![](/icons/64966de.gif)
变量
![](/icons/64966dou.gif)
只是多了
![](/icons/64966static.gif)
关键字修饰
![](/icons/64966dou.gif)
它
![](/icons/64966de.gif)
作用域是类(Class)范围内
![](/icons/64966class.gif)
Something {
![](/icons/64966int.gif)
i;
public void doSomething
![](/icons/64966kh.gif)
{
![](/icons/64966System.gif)
.out.pr
![](/icons/64966int.gif)
ln("i = " + i);
}
}
有什么错呢? 看不出来啊
答案: 正确
![](/icons/64966dou2.gif)
输出
![](/icons/64966de.gif)
是"i = 0"
![](/icons/64966dou2.gif)
![](/icons/64966int.gif)
i属於instant variable (例子变量
![](/icons/64966dou.gif)
或叫成员变量)
![](/icons/64966dou2.gif)
instant variable有default value
![](/icons/64966dou2.gif)
![](/icons/64966int.gif)
![](/icons/64966de.gif)
default value是0
很多同学认为这个题是
![](/icons/64966cuowu.gif)
![](/icons/64966de.gif)
![](/icons/64966dou.gif)
以为i如果没有赋值
![](/icons/64966dou.gif)
那么它就不能进行操作
![](/icons/64966dou2.gif)
在这个题目中
![](/icons/64966dou.gif)
i是例子变量
![](/icons/64966dou.gif)
基本数据类型
![](/icons/64966int.gif)
![](/icons/64966de.gif)
![](/icons/64966chushi.gif)
值为0.如果
![](/icons/64966int.gif)
i;这句话在思路方法里面
![](/icons/64966dou.gif)
它就是局部变量
![](/icons/64966dou.gif)
那么
![](/icons/64966dou.gif)
如果不给它赋初值
![](/icons/64966de.gif)
话
![](/icons/64966dou.gif)
它就无法运行
这是
![](/icons/64966yi.gif)
个很基本
![](/icons/64966de.gif)
问题
![](/icons/64966dou.gif)
大家都很少去关注这些
![](/icons/64966dou2.gif)
但是越基本
![](/icons/64966de.gif)
东西越不容易引起注意
![](/icons/64966dou.gif)
在使用
![](/icons/64966de.gif)
时候就越容易出错
![](/icons/64966dou2.gif)
大家要引以为鉴