变量顾名思义就是可以变化的量,我们在使用变量的时候需要先定义,也就是声明其数据类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,数据类型,作用域。
上图就是一个完整的声明变量的过程。
变量的作用域分为三个
第一个是局部变量
局部变量就是在方法里面声明变量,只能被这个方法使用,我在demo1里面声明的变量,在demo2里面是不能被使用的。
第二个是类变量
类变量是声明在方法外面,类的里面,同时还要加一个修饰符static。
在图中可以看到,我在类里面声明一个类变量之后,在主函数和其他两个方法里面也是可以直接使用的。
第三个是实例变量
实例变量是从属于对象的,我们使用的时候必须要new一下他的类,之后才可以使用,实例变量声明的时候可以不给他值,一个实例对象的值可以同时有很多种。
我声明一个实例对象,我在main函数里面没有new,是直接爆红的,不能使用的。
再看图,这个我new一个对象,就可以使用了,因为实例变量是属于对象的,只有new一个对象之后才可以使用。
但是我发现一个问题,就是我的构造方法没有new,也是可以使用实例变量的,很奇怪。
实例对象不用初始化,有默认值,基本数据类型是0,引用数据类型是full,布尔类型是false。