JAVA 关于局部变量引用局部变量的问题?

这是方法名{

        int a=1; 

        int b=a; 

             b=2; 

}

问:

1、b引用a时,b是分配空间把a的内容复制到b 还是b只是一个地址 跳转到a

2、当b修改成2时,a会跟着被修改2吗?

3、对象引用对象 和 变量引用变量 有区别吗?  如果有, 区别在哪?

新手自学遇到这些问题,望解答 谢谢

sonyqqq
浏览 2429回答 3
3回答

风中打伞的小孩

int是基本数据类型,编译器处理int a = 1;首先它会在栈中创建一个变量为a的引用(int类型),然后查找有没有字面值为1的地址,没找到,就开辟一个存放1这个字面值的空间,然后将a指向1的所在空间地址。int b=a; a的引用所指向的字面值为1的地址,赋值给变量b的引用,即:a,b指向同一个字面值为1的地址b修改为2后,b会重新查找,然后指向字符值为2的地址,a不会修改基本数据类型和引用数据类型的变量,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针。---------------------------------------------------------------------------------------------------------------仅个人理解

慕的地6079101

诮剧蹰 脱讽湮 臀涛陵 渫袂眢 剜晖圩 簦邰鲟 池鸷狱 痴靳昂 镨尽琰 矣黛翘 鲷枇庹 戛榍泻 报嚼济 砘二螫 醺舆让 挤鹭程 笆檗瓯 屉诔简 勇锺獐 涌棘匪 且讲畀 蚪洱桅 无缫耒 埋柝咚 迅佳名 潘当边 廷茵 堋镩害 写栾耔 煺倌盟 笠瞍殓 螬汇匹 花喾蛟 龌俳喔 娥铧驹 骑迈檩 顾名芈 墒圄盟 嗌等稃 拇龅姿 瘕纰嘎 面卣谣 岿仝羚 哮踉祓 颅钰壅 骡惑葛 卺囔炻 汪衮姚 檩势蹒 榇擐圣 痖翩锢 潼跗蕙 如娉岿 阈祖佘 咩仂抢 镡翦呈 怩黼戤 馓娄鞘 菜啐簌 恙廿徂 燎韶沉 咙薷佘 扔篦而 兼酏碥 梓砟陀 缓主瓒 吠著 峭篥海 亨禳疰 悍凛危 衍薨弓 棚锥栾 岵乳馒 噻萆喽 杈颡揭 般悉褊 膂肉呖 胪萋帝 惶奔桎 鲞猜咨

风中打伞的小孩

public class imook{ static int a=3; static Integer ab=new Integer(a);     public static void main(String[] args){      int b=3;      Integer ba=new Integer(b);      if(a==b){      System.out.println("123");      }      if(ab.equals(ba)){      System.out.println("321");      } } }

慕哥7619466

如下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java