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是一个特殊的类,其内容不可改变

     

  • 相关阅读:
    redis-cluster
    Mycat-主从结构的准备
    Mycat-多实例的搭建
    MSC添加shard节点
    MongoDB -MSC集群的部署
    MySQL知识-redis实例
    MySQL知识-MySQL不同版本多实例
    #Linux学习# 用户和用户组管理
    #Linux学习# 软件包管理
    #Linux学习# 文本编辑器vim
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131433.html
Copyright © 2011-2022 走看看