zoukankan      html  css  js  c++  java
  • Java中一对多映射关系(转)

     

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

    定义人   这个类

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

    复制代码
    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());

    运行

  • 相关阅读:
    类和对象
    数组
    随笔3
    设计把所有的奇数移动到所有偶数前面的算法
    选择排序
    队列的链式存储结构
    循环队列
    一起玩算法(把所有相同的数字后移)
    判断序列B是否是序列A的连续子序列
    power bi创建切片器导航
  • 原文地址:https://www.cnblogs.com/ty-v/p/8249928.html
Copyright © 2011-2022 走看看