Java基础系列之变量初始化、值传递、引用传递

初始化

在编写Java代码中,为变量初始化是一种良好的习惯,尤其是局部变量。

Java基础系列之变量初始化、值传递、引用传递_第1张图片

从上图可以看出,成员变量会默认帮你填写初始值,而局部变量如果未初始化,在编译时将不会被允许。

值传递和引用传递

Java基础系列之变量初始化、值传递、引用传递_第2张图片

从上图结果可以看出基本变量int其实是一种值传递,而对象list则是一种引用传递。

String的传递

那么针对特殊的变量String又是一种什么传递呢?

Java基础系列之变量初始化、值传递、引用传递_第3张图片

从上图可以看出,String其实可以理解为是一种值传递,但是为什么String会发生如此现象呢?这个跟String的类有很大关系,为大家介绍一篇文章,https://www.zhihu.com/question/20618891。

包装后的对象的传递

Java基础系列之变量初始化、值传递、引用传递_第4张图片
执行结果

因此,虽然int被Integer包装了一层,但是依然是一种值传递过程。

你可能感兴趣的:(Java基础系列之变量初始化、值传递、引用传递)