zoukankan      html  css  js  c++  java
  • java入门 学习日志八(面向对象六)

    引用传递

    引用传递的基本概念
    引用传递的核心意义是:通一块堆内存被多块栈内存指向,不同的栈内存可以修改同一块堆内存的内容。

    • 1 基本数据类型在进行参数传递的时候,是值传递,所以调用方法时不能修改原栈内存指向的堆内存的数据。
    • 2 String类数据内容一旦生成则不可被修改 ,除非改变所要修改的栈内存的指向。
    • 3 String 类数据做方法参数的时候,引用传递给参数一块堆内存地址。
    • 4 通过调用方法属性对对象属性的修改可以保存下来。

    引用传递的应用

    class Member{
    	private int mid;
    	private String name;
    	private Member child;
    	private Car car;
    	public Member(String name,int mid) {//含参构造方法
    		this.name=name;
    		this.mid=mid;
    	}
    	public void setChild(Member child) {//设置儿子信息
    		this.child=child;
    	}
    	public Member getChild() {//返回儿子
    		return this.child;
    	}
    	public void setCar(Car car) {//设置车的信息
    		this.car =car;
    	}
    	public Car getCar() {  //返回车
    		return this.car;
    	}
    	public String getInfo() {
    		return "人的编号是:"+this.mid+" 姓名是:"+this.name;
    	}
    }
    class Car{
    	private String name ;
    	private Member member;
    	public Car(String name) {
    		this.name=name;
    	}
    	public void setMember(Member member) {
    		this.member=member;
    	}
    	public Member getMember() {
    		return this.member;
    	}
    	public String getInfo() {
    		return "车的名字是:"+this.name;
    	}
    }
    
    
    public class TestDemo{
    	public static void main(String args[]) {
    		Member f=new Member("老付",1);
    		Member s=new Member("小石",2);
    		Car c1=new Car("法拉利");
    		Car c2=new Car("八手奥拓");
    		f.setChild(s);
    		f.setCar(c1);
    		s.setCar(c2);
    		System.out.println(f.getInfo());   //输出人的信息
    		System.out.println(f.getCar().getInfo());//人找车
    		System.out.println(f.getChild().getInfo());//人找儿子
    		System.out.println(f.getChild().getCar().getInfo());//人找儿子的车
    	}
    }
    
    程序执行结果:
    人的编号是:1 姓名是:老付
    车的名字是:法拉利
    人的编号是:2 姓名是:小石
    车的名字是:八手奥拓
    	
    
  • 相关阅读:
    dnn5.5.1的配置
    The Auto option has been disabled as the DotNetNuke Application cannot connect to a valid SQL Server database
    DNN常用的几种页面跳转(EditUrl和Globals.NavigateURL)
    动态生成ASP.NET按钮时要注意的一个问题
    Visual C#实现Windows信使服务
    浏览器滚动条的参数总结
    AJAX实现无刷新三联动下拉框
    c#.net常用的小函数和方法集
    利用OWC生成统计图表(代码+注释)
    ASP.NET之精通弹出窗口
  • 原文地址:https://www.cnblogs.com/fxzemmm/p/14847966.html
Copyright © 2011-2022 走看看