引用传递应用实例

class Member{
    private int id;
    private String name;
    private Car car;//表示属于人的车
    public Member(int id,String name){
        this.id=id;
        this.name=name;
    }
    public String toString(){
        return "编号:" +  this.id + ",名字:" + this.name;
    }
    public void setCar(Car car){
        this.car  = car;
    }
    public Car getCar(){
        return this.car;
    }
}
class Car{
    private String carName;
    private Member member;//人所拥有的车
    public Car(String carName){
        this.carName  = carName;
    }
    public String toString(){
        return "车的名字:" + this.carName;
    }
    public void setMember(Member member){
        this.member=member;
    }
    public Member getMember(){
        return this.member;
    }
}

public class Test{
    public static void main(String args[]){
        //第一步添加人和车;
        Member m = new Member(10,"张三");
        Car c = new Car("法拉利");
        //第二步设置人和车的关系;
        m.setCar(c);//人拥有一辆法拉利
        c.setMember(m); //一辆车属于一个人
        //第三步:通过人找到车,通过车找到车主
        System.out.println(m.getCar());//通过m这个人找到他的车
        System.out.println(c.getMember());//通过c这个车找到其车主
    }
}

简单的一个代码来介绍引用传递的应用;

时间: 2024-10-10 13:35:44

引用传递应用实例的相关文章

java的引用传递

最近看着李兴华讲师的java视频教程学习java,关于java引用传递方面的知识的总结. 基础知识 java的常用内存空间 栈内存空间:保存所有的对象名称(更准确地说是保存了引用的堆内存空间的地址) 堆内存空间:保存具体对象的具体属性内容. 全局数据区:保存static类型的属性 全局代码区:保存所有的方法定义 实例分析 class Person { private String name; private int age; private static String city = "北京&qu

js中函数参数值传递和引用传递

js中函数参数值传递和引用传递:在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript的值类型一章节.2.引用类型可以参阅javascript的引用类型一章节.一.函数传递值类型:代码实例如下: function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); console.log(num); console.log(result); 以上代码的弹出值分别为:10和20,下面进

c++中函数参数传递(值传递、指针传递,引用传递)进一步认识

概念 首先从概念上来说一下这几种函数传参方式及区别: 1.值传递:形参是实参的拷贝,改变函数形参的值并不会影响外部实参的值,这是最常用的一种传参方法,也是最简单的一种传参方法,只需要传递参数,返回值那是return考虑的: 2.指针传递:指针传递参数从本质上来说也是值传递,它传递的是一个地址.[值传递过程中,被调函数的形参作为被调函数的局部变量来处理,即在函数内的栈中开辟内存空间以存放由主调函数放进来的实参的值,从而成了实参的一个副本(记住这个,函数内参数的是实参的副本)].由于指针传递的是外部

java中方法的参数传递机制(值传递还是引用传递)

看到一个java面试题: 问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本.指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的. 以下是从其他文章里转的,只为加深理解 public class TempTest { private void te

Java中,函数参数的传递,是值传递还是引用传递

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递. 可以这么理解:有一个Person(name="S"),作为参数传给一个方法,在此方法中将此Person重新设置name=“B”,那么有一下结论 ①这个Person还是这个Person,一直都是他,但是他的名字被改了,不管是原来的引用还是方法里的引用,引用的都是一个对象,所以,所有引用的值都变了 ②如果在方法中重新new了一个Person赋给参数,

Java中String是不是引用传递?

本文转自:http://www.jcodecraeer.com/a/chengxusheji/java/2012/0805/340.html 编者语:书上都说string是引用类型,但事实上我所看到的string和所谓的值类型没有什么区别,但通过看以下的文章,明白了: 1.string a="abc";之后,如果a="xy",则是a并没有改变内存中已经存在的"abc",而是又创建了另外一个实例.实际上相当于:string a=new String

从引用传递到设计模式 (下)

上一篇 从引用传递到设计模式 (上) 的文末,提到非虚拟接口 NVI 的实现,即将虚函数声明为保护型或私有型,借由模板函数模式来实现 . 园友 @KillU 看的很仔细,提出了一个问题:虚函数是 private 类型,继承可以么? 答案是:可以 5  实现权和调用权 <Effective C++> 中给的解释是: 重写一个虚函数,指的是如何做事情 (how), 而调用一个虚函数,指的是什么时候做事情 (when) NVI 或 模板函数模式中,允许派生类重写虚函数,赋给派生类的是“实现权” -

引用传递与值传递

一.ECMAScript中的数据类型 1.基本数据类型:null.undefined.number.boolean.string 2.引用数据类型:object(obj.[].{}.function.RegExp等),是由一组无序的名值对组成的 3.typeof与instanceof作用: typeof是用来检测这些基本数据类型的: 返回"underfined",表示这个值只是被声明了,却没有给其定义,也可以理解为没有赋值 返回"boolean"表示这个值是布尔值,

C#参数知识盘点,形/实参、值/引用传递、ref、out、in、params、可选、命名等

引言 参数,也叫参变量,是一个变量.在方法签名中随处可见,实现了不同方法间的数据传递,基本上充斥在代码的各个角落里.实参是通过方法调用传递到方法的值的名称,形参是方法期望接收的值.在方法签名或者原型中,方法名称后的括号包含方法的参数及其类型的完整列表.参数声明指定参数中存储的值的类型.大小和标识符.然而小小参数的背后其实也是有着大学问的,所以本篇博文,您可以和博主一起把C#里面各式各样的参数复习一遍.我们先简单回顾一下各种各样的参数概念,对不同类型参数的使用场景有一个了解,再慢慢深入探讨参数的传