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());
运行

Java中一对多映射关系的更多相关文章
- java中继承关系学习小结
继承:把多个类中同样的内容提取出来.定义到一个类中,其它类仅仅须要继承该类.就能够使用该类公开的属性和公开的方法. 继承的优点:提高代码的复用性.提高代码的可维护性.让类与类之间产生关系,是多态存 ...
- C#与Java中相等关系
最近在学习java的语法,发现java中两个字符串某些情况下不能用==这个来判断,比如自己定义的类中有String属性,那么就不能用==判断两个是否相等.这才开始比较C#和Java在这里的区别,最后发 ...
- C++/Java中继承关系引发的调用关系详解
C++: 这里引用到了 http://blog.csdn.net/haoel/article/details/1948051/ 中的内容,还请提前阅读陈大神的这篇博客后在阅读本篇. 覆盖,实现多态的基 ...
- java中变量关系
- 028、Java中的关系运算符
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 024 01 Android 零基础入门 01 Java基础语法 03 Java运算符 04 关系运算符
024 01 Android 零基础入门 01 Java基础语法 03 Java运算符 04 关系运算符 本文知识点:Java中的关系运算符 关系运算符
- Java中内存中的Heap、Stack与程序运行的关系
堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题:而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题:堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动 ...
- java中paint repaint update 之间的关系
最近总结了一下java中的paint,repaint和updata三者之间的关系,首先咱们都知道用paint方法来绘图,用repaint重绘,用update来写双缓冲.但是他们之间是怎么来调用的呢,咱 ...
- Java中的集合类型的继承关系图
Java中的集合类型的继承关系图
随机推荐
- mysql数据安全一之数据恢复案例
mysql数据安全一之数据恢复案例 --chenjianwen 应用场景:适宜开启binlog 日志功能,定时备份并使用--master-data参数备份,在某个时间点丢失数据,用于数据恢复 开篇总结 ...
- Windows 10 提权漏洞复现及武器化利用
项目地址:https://github.com/SandboxEscaper/randomrepo 相关工具的下载地址: Process Explorer:https://docs.microsoft ...
- HTTP接口开发专题四(接收http接口发送过来的请求)
前面讲了调用http接口的操作,这篇讲下接收http接口的操作.(以Spring MVC为例) 1)如果发送过来的内容类型是application/x-www-form-urlencoded ,则按照 ...
- xe8 单元别名
xe8 单元别名 Unit scope F2613 Unit 'Graphics' not found. Project>Option>Unit scope names> vcl.I ...
- Delphi C++Builder RAD XE Ver 版本 官方发布时间
RAD 新版本发布时间记录 代号,官方发布时间 RIO 10.3.1,VER330,Product Ver 26 Program File 20,2019.2.14 发布 24周年 RIO 10.3, ...
- Subversion Self Signed Certificates
When connecting to Subversion repositories using SSL connections the SVN client checks the server ce ...
- 利用Console来学习、调试JavaScript
一 什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该对象 可以输出信息到 Console 窗口中. 二 ...
- js 的eval()方法 计算某个字符串,并执行其中的的 JavaScript 代码;
定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...
- Spring Boot @ControllerAdvice+@ExceptionHandler处理controller异常
需求: 1.spring boot 项目restful 风格统一放回json 2.不在controller写try catch代码块简洁controller层 3.对异常做统一处理,同时处理@Vali ...
- 『PLSQL』在oracle表中怎样创建自增长字段?
1.建立测试数据表CREATE TABLE TEST( ID NUMBER, NAME VARCHAR2(20), PRIMARY KEY(ID)); 2.创建序列CREATE SEQUENCE SE ...