首先,得明白,什么是变量?变量的本质上就是代表一个“可操作的存储空间”,空间的位置是确定的,但是里面放置什么值是不确定。我们可以通过变量名来访问“对应的存储空间”,从而操作这个“存储空间”存储的值。举个生活中的例子可以很好的理解什么是变量,它就相当于我们停车场的车位,我们停车场的车位里面是停什么类型的车辆是不确定的,在于我们使用的车的类型,货车的话车位大一点,轿车是普通的类型,自行车就比较小了。
变量有三大要素:变量名,变量类型,作用域
变量名的命名是有一定的规则的,不能以数字开头,其他部分可以是字母,数字,下划线_,美刀符号$任意组合,因为Java采用Unicode字符集编码,所以变量名是可以使用汉字的,但是不建议使用汉字来作为变量名。
变量的类型:和上面的例子一样,变量可以看作是车位的类型,大车的车位,轿车,自行车。
作用域:在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。
类级变量又称全局变量或静态变量。需要使用static关键字修饰。类级变量在类定义后就已经存在,占用内存空间,不需要实例化就可以通过类名来访问。从属于类,生命周期伴随类始终,从类加载到卸载。
对象实例级变量就是成员变量,实例化后才会分配内存,才能访问。
方法级变量就是在方法内部定义的变量,就是局部变量。
说明:
方法内部除了能访问方法级的变量,还可以访问类级和实际的变量。
块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。