多年以前,第一次学Java的时候,总觉得变量没有什么可说的,就是自己定义的标识符嘛;
直到最近重新学习Java,看到一份资料,上面对变量的概念讲得更详细了:
变量的概念:
变量,占据着内存中的某一存储区域;
该区域有自己的名称和数据类型;
该区域的数据可以在同一类型范围内不断的变化~
* 这就是为什么叫做变量的原因所在吧!多年以前学习Java从来没关注过内存什么的概念,那时候的书上也很少提及JVM内存的原理;
为什么要定义变量:
用来不断的,存放同一类型的常量,并且可以重复使用;
* 根据我看视频的所学,重复使用指的是不同变量,同一个数值的时候,这个变量就是可以被重复使用的;
使用变量的注意点:
初始化值;
* 初始化值是由变量的数据类型决定的;
String s = null,
int i = 0;
作用范围:
定义开始到定义它的代码块结束,同一代码块范围内不允许有多个相同命名的局部变量。
局部变量和成员变量:
局部变量:声明在方法括号里面的变量;
* 只能在方法体中使用和访问,其他方法体访问不到,所以叫局部,使用前必须赋值;
成员变量:声明在类括号内、方法括号外的变量;又称Field 或 全局变量~ 作用域是整个类。
* 原来成员变量就是全局变量,其实Java中没有全局变量的概念,因为Java面向对象的特性,所有变
* 由于默认会被隐式初始化值,所以可以不用赋值,直接使用。
下面的例子,很好的说明了这一点:
public class Variable {
// 成员变量
String name = "成员变量";
public static void main(String[] args) {
// 新建类对象
Variable variable = new Variable();
// 调用对象的方法local方法
variable.local();
}
void local() {
// 局部变量
String name = "局部变量";
// 在方法体内打印变量name
System.out.println(name);
// 用this指向对象本身.this.name,为对象(Variable类对象)
System.out.println("打印:" + this.name);
}
}