zoukankan      html  css  js  c++  java
  • java学习笔记15引用传递

    范例一

    class Demo{
    	public int temp = 30;
    }
    public class T {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Demo d1 = new Demo();
    		d1.temp = 50;
    		System.out.println("fun()方法调用之前:"+d1.temp);
    		fun(d1);
    		System.out.println("fun()方法调用之后:"+d1.temp);
    	}
    	public static void fun(Demo d2){
    		d2.temp = 1000;
    	}
    }


    内存分析:

    范例二

    public class T {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String str1 = "hello";
    		System.out.println("fun()方法调用之前:"+str1);
    		fun(str1);
    		System.out.println("fun()方法调用之前:"+str1);
    	}
    	public static void fun(String s2){
    		s2 = "MLDN";
    	}
    
    }


    内存分析

    范例三

    class Demo{
    	String temp = "hello";
    }
    public class T {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Demo d1 = new Demo();
    		d1.temp = "world";
    		System.out.println("fun()方法调用之前:"+d1.temp);
    		fun(d1);
    		System.out.println("fun()方法调用之后:"+d1.temp);
    	}
    	public static void fun(Demo d2){
    		d2.temp = "MLDN";
    	}
    }


    内存分析

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

     

  • 相关阅读:
    10-3 集合之Set
    【Angular】排序
    【Mongous】
    【验证码】
    爬虫
    【DOM】
    年月日
    【Mocha】
    【Test】
    洛谷——P1823 音乐会的等待
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131433.html
Copyright © 2011-2022 走看看