码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记15--引用传递

时间:2015-09-08 06:57:36      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

 

java学习笔记15--引用传递

 

范例一

  1. class Demo{  
  2.     public int temp = 30;  
  3. }  
  4. public class T {  
  5.   
  6.     public static void main(String[] args) {  
  7.         // TODO Auto-generated method stub  
  8.         Demo d1 = new Demo();  
  9.         d1.temp = 50;  
  10.         System.out.println("fun()方法调用之前:"+d1.temp);  
  11.         fun(d1);  
  12.         System.out.println("fun()方法调用之后:"+d1.temp);  
  13.     }  
  14.     public static void fun(Demo d2){  
  15.         d2.temp = 1000;  
  16.     }  
  17. }  


内存分析:

技术分享

 

范例二

  1. public class T {  
  2.   
  3.     public static void main(String[] args) {  
  4.         // TODO Auto-generated method stub  
  5.         String str1 = "hello";  
  6.         System.out.println("fun()方法调用之前:"+str1);  
  7.         fun(str1);  
  8.         System.out.println("fun()方法调用之前:"+str1);  
  9.     }  
  10.     public static void fun(String s2){  
  11.         s2 = "MLDN";  
  12.     }  
  13.   
  14. }  


内存分析

技术分享

 

范例三

  1. class Demo{  
  2.     String temp = "hello";  
  3. }  
  4. public class T {  
  5.   
  6.     public static void main(String[] args) {  
  7.         // TODO Auto-generated method stub  
  8.         Demo d1 = new Demo();  
  9.         d1.temp = "world";  
  10.         System.out.println("fun()方法调用之前:"+d1.temp);  
  11.         fun(d1);  
  12.         System.out.println("fun()方法调用之后:"+d1.temp);  
  13.     }  
  14.     public static void fun(Demo d2){  
  15.         d2.temp = "MLDN";  
  16.     }  
  17. }  


内存分析

技术分享

 

本程序与范例一的流程完全是一样的,范例二是特殊的,因为String是一个特殊的类,其内容不可改变。


java学习笔记15--引用传递

标签:

原文地址:http://www.cnblogs.com/timdes/p/4790449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!