java 变量分类

转:https://blog.csdn.net/suneqing/article/details/37909811 

1、按被声明的位置划分

局部变量方法和语句块内定义的的变量。(在定义局部变量时,必须对其进行初始化。)

成员变量方法外部,类的内部定义的变量。(成员变量可以是java语言中任何一种数据类型(包括基本类型和引用类型))

2、

按所属的数据类型划分

基本数据类型

  内存分析。

  例如'int i=0;',在内存中只分配一个空间,名字是i,里面的值是0。只要使用了i这个名字就能找到其中的值。

引用数据类型:java中的对象是通过对其引用进行操作的。

  内存分析:引用类型占两块内存,引用变量占一块,new出来的对象占一块内存

  例如:

  声明一个string类型的引用变量,但并没有指向一个对象。这时候它在内存中占一块内存。

  String s;

  

  使用new创建一个string类型对象,并通过s指向它,通过s对其进行操作。

  s=new String("hello world");

 

    总之,如果按照声明位置划分的变量类型中,局部变量声明后必须要赋值以后才能使用;而成员变量声明后可以不赋值,系统有默认值。

  如果按所属的数据类型划分,基本类型数据只占用内存中的一块内存;而引用类型占用的是两块内存,根据引用变量就可以在堆内存中找到它指向的对象。

猜你喜欢

转载自www.cnblogs.com/amunamuna/p/10703371.html