基本数据类型的值传递,不改变原值,因为方法在栈里面调用,调用完毕后方法会弹栈,局部变量也随之消失;
引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问
【简单记】
A: 基本数据类型作为方法参数传递时,形参的改变不影响实参;
B:引用数据类型(数组,类,接口)作为参数传递时,形参的改变影响实参。
面试题:Java中到底是传值还是传址
A:既是传值,也是传址,基本数据类型传递的值,引用数据类型传递的地址
B:java中只有传值,因为地址值也是值【出去面试都说这种,支持者是高斯林(java之父)】
|
|