多个引用类型的变量“引用”同一个对象意味着什么
来源:互联网 发布:七了个三淘宝 编辑:程序博客网 时间:2024/05/18 01:44
首先看下面的代码:
package com.heima.vo;
public class Test
{
public static void main(String[] args) {
int array1 []=new int[]{1,2};//标记1
int array2 []=array1;//标记2
array2[1]=100;//标记3
System.out.println("array1[1]="+array1[1]);//标记4 }
}
如果执行了上面的代码会输出什么?array1[1]=2还是array1[1]=100?
原因:当代码执行到标记1的时候,array1处于栈空间中,new出来的数组存在于堆空间中;array1引用了new出来的数组的内存地址。
当代码执行到标记2的时候,array2处于栈空间中,array2也引用了new出来的数组的内存地址,即array1和array2均引用了new出来的数组的内存地址,至此出现了多个数组类型的变量“引用”同一个数组对象。
当代码执行到标记3的时候,堆空间中数组对象的第二个元素开始变为100。
当代码执行到标记4的时候,由于两个变量引用同一个数组对象所以结果为array1[1]=100。
- 多个引用类型的变量“引用”同一个对象意味着什么
- 多个引用类型的变量“引用”同一个对象意味着什么
- python 共享引用:多个变量引用同一对象
- 5,给引用赋值意味着什么?
- 当几个引用指向同一个java对象的时候,用什么办法能让这几个引用都变成 null?
- java中引用类型的变量和对象的区别
- 引用类型变量和非引用类型变量的区别
- Java引用变量的类型
- 结构类型变量的引用
- 引用类型变量的转型
- 多个closure引用同一个变量,并且可能需要mut borrow
- php的变量引用,函数引用,对象引用
- virtual意味着动态类型:引用与非引用中的差异
- 变量的引用类型和非引用类型的区别
- 变量的引用类型和非引用类型的区别
- java对象的引用类型
- java对象引用的类型
- PHP变量引用、函数引用、对象引用
- Android平台aac谷歌软解框架和流程、解码库学习
- [LeetCode]Container With Most Water
- 打造DLL内存加载引擎学习笔记
- extjs 导出Excel 解决方法 extjs export excel 信息 消息
- Communications link failure,The last packet successfully received from the server was *** millisecon
- 多个引用类型的变量“引用”同一个对象意味着什么
- 求该日为本年第几天(新的简便的)
- Unity3D的脚本-script入门
- MII
- css 中字体大小
- C++运算符重载(一)——必要性及重载原则
- js实现图片旋转
- Android保持屏幕长亮的解决方案
- 业务数据平台发展历程(两年经历分享)