面向对象_对象的一对一关系

分别在两个类中定义对方的类类型变量          双向        如果只关联一方,就是单向

public class NinetyFour {
    public static void main(String[] args) {
        Husband h = new Husband("小白",‘男‘);
        Wife w = new Wife("星星",20);

        //关联对象
        h.setWife(w);
        w.setHusband(h);

        //通过丈夫取妻子的东西
        System.out.println("我是:"+h.getName()+",我的妻子是:"+h.getWife().getName()+",她今年"+h.getWife().getAge()+"岁了");

    }
}

//丈夫类
class Husband{
    private String name;
    private char sex;
    private Wife wife;//关联妻子类

    public Husband(){}

    public Husband(String name, char sex) {
        super();
        this.name = name;
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public Wife getWife() {
        return wife;
    }

    public void setWife(Wife wife) {
        this.wife = wife;
    }

}

//妻子类
class Wife{
    private String name;
    private int age;
    private Husband husband;//关联丈夫类

    public Wife(){}

    public Wife(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Husband getHusband() {
        return husband;
    }

    public void setHusband(Husband husband) {
        this.husband = husband;
    }

}
时间: 2024-10-18 23:37:48

面向对象_对象的一对一关系的相关文章

对象的一对一关系

两个对象之间的一对一关系 单向关联  单向一对一 双向关联  双向一对一 作用:可以通过任意一方得到另一方的信息 例如: 一个丈夫(husband)对一个妻子(wife) public class OneToOne { public static void main(String[] args) { Husband h=new Husband("牛郎",'男'); Wife w=new Wife("织女",22); //关联关系 h.setWife(w); w.se

面向对象_对象的内存体现

对象与内存的分析: 1.new关键字深入 1.new关键字表示创建一个对象 2.new关键字表示实例化对象 3.new关键字表示申请内存空间 注意:如果使用一个没有申请内存空间的对象,会报空指针异常:java.lang.NullPoingerException 2.对象内存分析 1 public class sixtyThree { 2 public static void main(String[] args) { 3 Dog d = new Dog();//声明一个对象并且实例化对象 4 5

Java面向对象_对象内存分析—值传递和引用传递

对象内存分析,我一直学的比较模糊,今天抽空整理一下,希望能理清. 先说一下,内存分析从何而来,这对于我们这些刚接触java的人来说都比较模糊,就从new关键字说起吧. new关键字表示创建一个对象或者说是实例化对象或者说是申请内存空间,所有程序运行都需要内存来存储数据,这样内存的概念就出来了.举个例子说明:定义一个类Person,属性:char a;int sge;那么创建一个对象申请的内存空间就是所有属性所占字节之和,为6个字节. 详细理一下对象在内存中的结构: Person p=new Pe

Java面向对象_对象数组

今天学习了对象数组,写点东西总结一下.废话不多说,啥是对象数组呢? 对象数组的概念是这么讲的,对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组. 举个例子,使用对象数组实现多个Hero的管理 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class Test4 { 5 6 /** 7 * @param args 8 */ 9 public static void main(St

面向对象_对象建立时内存中的变化

建立一个对象在内存中会做什么事 1.因为new用到了Person.class所以会先找到Person.class文件并加载到内存中 2.执行该类中的static代码块,如果有的话,给Person.class类进行初始化 3.在堆内存中开辟空间,分配内存地址 4.在堆内存中建立对象的特有属性,并进行默认初始化 5.对属性进行显示初始化 6.对对象进行构造代码块初始化 7.对对象进行对应的构造函数初始化 8.将内存地址赋给内存中的p变量 对象初始化过程: 先是默认初始化-------显示初始化---

Hibernate学习(五)———— hibernate一对一关系映射详解

一.一对一关系的概述 一对一关系看起来简单,其实也挺复杂的.其中关系就包含了四种,单向双向和主键关联外键关联. 什么意思呢,也就是包含了单向一对一主键关联.双向一对一主键关联,单向一对一外键关联,双向一对一外键关联, 这四种中,单双向就不用在说了把,就是看你业务需求来去设置是否是单双向,而外键关联也很简单,前面的一对多和多对多度是依靠外键关联关系来写的.那主键关联关系是怎么样的呢?其实跟外键关联差不多,唯一的区别就是,让一个类的主键当作外键使用来指向另一个关联类的主键,从而两个类的主键就达到了同

hibernate(五) hibernate一对一关系映射详解

序言 之前讲解了一对多(单向.双向).多对多(双向),今天就讲解一下最后一个关系,一对一. 心情不错.状态也挺好的,赶紧写一篇博文造福一下大家把. --WZY 一.一对一关系的概述 一对一关系看起来简单,其实也挺复杂的.其中关系就包含了四种,单向双向和主键关联外键关联. 什么意思呢,也就是包含了单向一对一主键关联.双向一对一主键关联,单向一对一外键关联,双向一对一外键关联, 这四种中,单双向就不用在说了把,就是看你业务需求来去设置是否是单双向,而外键关联也很简单,前面的一对多和多对多度是依靠外键

面向对象中多个对象之间的关系

http://www.cnblogs.com/wing011203/archive/2012/06/23/2559223.html 当谈到面向对象的设计时,我们经常说面向对象是符合人们对现实世界的思维模式,即人们采用针对非程序设计领域存在的复杂问题的解决方式,来解决软件设计过程中各种错综复杂的关系.利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,这些对象,有些主要是数据模型,有些则是行为描述占主体.一个设计良好的类,应该是兼顾信息和行为,并且是高内聚.而不同

Hibernate_8_Person和IdCard实例_一对一关系:基于外键

1)建立Person类: public class Person { private Integer id; private String name; private IdCard IdCard; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getId() { return id; } public void setId