Java中是值传递还是地址传递?
- 第一种说法:既是值传递也是地址传递,基本数据类型是值传递,引用数据类型传递的地址。
- 第二种说法:java中只有传值,因为地址值也是值(出去面试都说这种,支持者是高斯林(java之父))。
如何理解Java中的参数传递问题
基本数据类型的值传递,不改变原值,因为调用方法后就会弹栈,局部变量随之消失。
引用类型的值传递是改变原值的,因为即使方法弹栈,但是堆内存中的数组对象还存在,可以通过地址继续访问。
基本数据类型:int、short、long、byte、float、double、char、boolean。
引用数据类型:数组、对象
变量存的是一个内存地址