龙空技术网

轻松认识局部变量、成员变量、引用类型、值类型

不码不疯魔 591

前言:

此时你们对“引用变量有哪三种类型”可能比较关怀,朋友们都需要分析一些“引用变量有哪三种类型”的相关内容。那么小编同时在网上汇集了一些对于“引用变量有哪三种类型””的相关内容,希望咱们能喜欢,大家快快来了解一下吧!

局部变量与成员变量

成员变量:类中的属性/字段。

局部变量:方法中声明的变量。

特殊情况:当局部变量和成员变量重名时,优先引用的是局部变量(就近)。

引用类型与值类型

值类型:8种基本类型

引用类型:String,Array, Scanner, class ...

值类型的变量存的是真实数据,是值。

引用类型的变量存的是对象在堆中的内存地址,这个地址称为reference(引用)。

值类型作为方法的参数时,方法体内对形参的改变和实参无关!

上图运行结果

注意:引用类型作为方法的参数时,传递的依然是变量的值。只不过这个值是一个对象的引用,这意味着形参和实参指向同一对象(同一堆空间),所以对形参的属性的改变实际上等同于对实参的属性的改变!

上图运行结果

提问:Java的方法可以传递引用吗? 不可以!

null是什么

null是引用类型的特殊值,表示未分配内存空间,称为空对象。例如:

int[] numbers; //如果numbers是成员变量, 它是null

String[] a = new String[3]; // a[0], a[1], a[2]都是null

特别需要注意的是当使用"."运算符去访问null的属性/方法时,产生空指针异常(NullPointerException)。

标签: #引用变量有哪三种类型 #引用变量有哪三种类型的