zoukankan      html  css  js  c++  java
  • Java基础_0310:引用传递

    引用传递

    引用传递是Java之中最让初学者费解的概念,而在实际的开发之中,引用传递又有着非常重要的作用;
    引用传递的核心在于同一块堆内存空间被不同的栈内存所指向;

    范例:第一道引用传递范例

    class Message {
    	private int num = 10;		// 定义int基本类型的属性
    	/**
    	 * 本类没有提供无参构造方法,而是提供有参构造,可以接收num属性的内容
    	 * @param num 接收num属性的内容
    	 */
    	public Message(int num) {
    		this.num = num;	// 为num属性赋值
    	}
    	public void setNum(int num) {
    		this.num = num;
    	}
    	public int getNum() {
    		return this.num;
    	}
    }
    public class TestDemo {
    	public static void main(String args[]) {
    		Message msg = new Message(30);	// 实例化Message类对象同时传递num属性内容
    		fun(msg); 		// 引用传递
    		System.out.println(msg.getNum());	// 输出num属性内容
    	}
    	/**
    	 * 修改Message类中的num属性内容
    	 * @param temp Message类的引用
     	 */
    	public static void fun(Message temp) {
    		temp.setNum(100);		// 修改num属性内容
    	}
    }
    
    
    程序执行结果:	100
    
    

    范例:第二道引用范例

    public class TestDemo {
    	public static void main(String args[]) {
    		String msg = "Hello";		// 定义String类对象
    		fun(msg);			// 引用传递
    		System.out.println(msg);	// 输出msg对象内容
    	}
    	public static void fun(String temp) {	// 接收字符串引用
    		temp = "World";		// 改变字符串引用
    	}
    }
    
    程序执行结果:Hello
    
    

    范例:第三道引用传递

    class Message {
    	private String info = "此内容无用" ;		// 定义String类型属性		
    	public Message(String info) {		// 利用构造方法设置info属性内容
    		this.info = info ;
    	}
    	public void setInfo(String info) {
    		this.info = info ;
    	}
    	public String getInfo() {
    		return this.info ;
    	}
    }
    public class TestDemo {
    	public static void main(String args[]) {
    		Message msg = new Message("Hello") ;	// 实例化Message类对象
    		fun(msg) ;								// 引用传递
    		System.out.println(msg.getInfo()) ;	// 输出info属性内容
    	}
    	public static void fun(Message temp) {	// 接收Message类引用
    		temp.setInfo("World") ;		// 修改info属性内容
    	}
    }
    程序执行结果:World
    
    

  • 相关阅读:
    清理weblogic缓存
    [转载]哪些行为让你觉得对方很高级很有教养?
    [转载]哪些行为让你觉得对方很高级很有教养?
    Linux系统信息查看命令大全
    Linux系统信息查看命令大全
    [转载]永远保持随时可以离开的能力(不仅仅是张泉灵)
    [转载]永远保持随时可以离开的能力(不仅仅是张泉灵)
    2015面试的技术点
    movie maker精准到1/100秒
    vs调试看窗口风格
  • 原文地址:https://www.cnblogs.com/xuwei1/p/8361795.html
Copyright © 2011-2022 走看看