java引用传递实例

class Member {
    private int mid;				// 人员 编 号
    private String name;			// 人员 姓 名
    private Car car; 				// 表示属于人的车,如果没有车,则内容为null
    private Member child ;			// 表示人的孩子,如果没有,则为null
    public Member(int mid, String name) {
        this.mid = mid;
        this.name = name;
    }
    public void setCar(Car car) {
        this.car = car ;
    }
    public Car getCar() {
        return this.car ;
    }
    public void setChild(Member child) {
        this.child = child;
    }
    public Member getChild() {
        return child;
    }
    public String getInfo() {
        return "人员编号:" + this.mid + ",姓名:" + this.name;
    }
}
class Car {
    private Member member; 		// 车属于一个人,如果没有所属者,则为null
    private String pname;			// 车的名字
    public Car(String pname) {
        this.pname = pname;
    }
    public void setMember(Member member) {
        this.member = member ;
    }
    public Member getMember() {
        return this.member ;
    }
    public String getInfo() {
        return "车的名字:" + this.pname;
    }
}
public class TestDemo {
    public static void main(String args[]) {
        // 第一步:根 据  既 定 结 构 设 置 数 据
        Member m = new Member(1,"小明") ;				// 独立对象
        Member chd = new Member(2,"小红") ;	 			// 独立对象
        Car c = new Car("宝马") ;					// 独立对象
        Car cc = new Car("法拉利") ;					// 一辆车
        m.setCar(c) ;									// 一个人有一辆车
        c.setMember(m) ;								// 一 辆 车 属于 一个人
        chd.setCar(cc) ;								// 一个 孩子 有 一辆 车
        cc.setMember(chd) ;							// 一 个车 属 于一  个 孩 子
        m.setChild(chd) ;								// 一个人有一个孩子
        // 第 二 步 :根 据 既 定 结 构 取 出 关 系
        System.out.println(m.getCar().getInfo()) ;			// 通 过 人 找 到 车 的 信 息
        System.out.println(c.getMember().getInfo()) ;			// 通 过车 找 到人 的 信 息
        System.out.println(m.getChild().getInfo()) ;			// 通 过 人 找 到 他 孩 子 的 信 息
        System.out.println(m.getChild().getCar().getInfo()) ;		// 通 过人找 到 他 孩 子 的 车 的 信 息
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值