码迷,mamicode.com
首页 > 编程语言 > 详细

Java中一对多映射关系(转)

时间:2018-01-09 10:20:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:title   个人   测试   src   运行   double   nbsp   方法   str   

通过例子,一个人可以有多辆汽车

定义人   这个类

人可以有很多辆汽车,类中车属性用数组

技术分享图片
class Person{ 
    private String name;
    private String phone;
    private Car[] car; 
    public Person() {}
    public Person(String name, String phone) {
        this.name = name;
        this.phone = phone;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public Car[] getCar() {
        return car;
    }
    public void setCar(Car[] car) {
        this.car = car;
    }
    public String getInfo(){
        return "姓名"+name+",电话"+phone;
    }
}
技术分享图片

然后定义汽车  这个类

技术分享图片
class Car{ 
    private String name;
    private double price;
    private Person person;
    public Car() {}
    public Car(String name,double price) {
        this.name = name;
        this.price = price;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public Person getPerson() {
        return person;
    }
    public void setPerson(Person person) {
        this.person = person;
    }
    public String getInfo() {
        return "品牌:"+name+" 价格:"+price;
    }
技术分享图片

之后,在测试类中,分别实例Person类和Car类

人这个对象只new一个

汽车可以无限个,这里象征性实例三个

        Person p = new Person("阿三","33333333");
        Car c1 = new Car("宝马",400000);
        Car c2 = new Car("宝来",100000);
        Car c3 = new Car("宝骏",800

对象实例化之后,设置彼此的关系,即一个人对应三台车,每台车都对应一个人

通过set方法传值

        p.setCar(new Car[]{c1,c2,c3}); 
        c1.setPerson(p);
        c2.setPerson(p);
        c3.setPerson(p);

测试

通过人,查询其下的车辆信息

System.out.println(p.getInfo()+"拥有的车辆");
for(int i=0;i<p.getCar().length;i++) {
    System.out.println(p.getCar()[i].getInfo()); //数组类型用for循环打印
}

运行

技术分享图片

通过车,查找所属人信息

System.out.println(c1.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());
System.out.println(c2.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());
System.out.println(c3.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());

运行

技术分享图片

 

Java中一对多映射关系(转)

标签:title   个人   测试   src   运行   double   nbsp   方法   str   

原文地址:https://www.cnblogs.com/ty-v/p/8249928.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!