JAVA中值类型和引用类型的不同(面试常考)
转载:https://www.cnblogs.com/1ming/p/5227944.html 1、 JAVA中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值, 那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法, 当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用;引用类型是存折,要用还得先去银行取现。----(摘自网上) [值类型] 也就是基本数据类型 基本数据类型常被称为四类八种 四类: 1,整型 2,浮点型 3,字符型4,逻辑型 八种: 1,整型3种 byte(2的3次方),short,int,long (2的6次方) 2,浮点型2种 float,double 3,字符型1种 char 4,逻辑型1种 boolean [引用类型] 除了四类八种基本类型外,所有的类型都称为引用类型(数组,类,接口,字符串) 在弄清楚值类型与引用类型之后,最后一点就是值传递与引用传递,这才是关键 [值传递] 基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。 [引用传递] 引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址