所谓引用类型
所谓引用类型其实就是除了基本数据类型(java中有8种)以外的类型——包括String等
java基本数据类型 | byte | short | int | long | float | double | boolean | char |
---|
为什么会默认为引用类型
学习完C和C++就会习惯于操作指针和引用类型,通常也只是在类型名后加上*和&代表指针和引用,但是在Java中取消了指针的存在,减少了编程者对底层的操作,不过这也有利于初学者——防止错误操作指针导致的内存泄漏等问题
引用的具体情况
1. 按值传递(基本数据类型)
int x = 10;
int y = x;
此处y是按值传递,即x, y指向的是不同的内存,y的改变不影响x
2. 按引用传递(引用类型)
String s = "pretty";
String t = s;
此处t跟s指向同一内存,在C++中相当于
string s = "pretty";
string &t = s;
3. 总结
在Java里面只有基本类型和按照下面这种定义方式的String是按值传递,其它的都是按引用传递。
//就是直接使用双引号定义的字符串方式:
String str = "pretty";
同理,在函数传参的时候依旧如此
本文参考此文章
想了解函数传参的内容请移步这里