java中变量的分类可以按照两种不同的方向进行分类:按被声明的位置划分、按照所属的数据类划分。下面就具体解析一下这两种分类。
按被声明的位置划分
局部变量:方法和语句块内定义的的变量。
在定义局部变量时,必须对其进行初始化。
成员变量:方法外部,类的内部定义的变量。
成员变量可以是java语言中任何一种数据类型(包括基本类型和引用类型)
在定义成员变量时对其进行初始化,如果不进行初始化,java使用默认值对其进行初始化。
按所属的数据类型划分
基本数据类型
内存分析。例如‘int i=0;‘,在内存中只分配一个空间,名字是i,里面的值是0。只要使用了i这个名字就能找到其中的值。
引用数据类型:java中的对象是通过对其引用进行操作的。
内存分析:引用类型占两块内存,引用变量占一块,new出来的对象占一块内存。例如:
声明一个string类型的引用变量,但并没有指向一个对象。这时候它在内存中占一块内存。
String s;
使用new创建一个string类型对象,并通过s指向它,通过s对其进行操作。
s=new String("hello world");
总之,如果按照声明位置划分的变量类型中,局部变量声明后必须要赋值以后才能使用;而成员变量声明后可以不赋值,系统有默认值。如果按所属的数据类型划分,基本类型数据只占用内存中的一块内存;而引用类型占用的是两块内存,根据引用变量就可以在堆内存中找到它指向的对象。