学习目标:
对象的一对一关系:
单向一对一:
如:一个英雄对应一把武器
双向一对一:一个学生对应一个座位,一个座位对应一个学生
学习内容:
package com.qf.lzp;
/**
-
对象的一对一关系:
-
单向一对一
-
双向一对一
*/
public class Object004 {
public static void main(String[] args) {
Studentn student1 = new Studentn(“张三”, “2012”);
Seat seat1 = new Seat(1, 1);
//把两个对象关联
//在Studentn类中定义了一对一关系,则需要进行如下关联
student1.setSeat(seat1);
//在Seat类中定义了一对一关系,则需要进行如下关联
seat1.setStudentn(student1);
//从而将对象student1与seat1双向一对一//!!!通过一对一关系进行输出,以及双向一对一的输出!!! System.out.println("学号为" + student1.getId() + "的学生" + student1.getName() + ",他的座位号是" + student1.getSeat().row + "排" + student1.getSeat().column + "列"); System.out.println(seat1.row + "排" + seat1.column + "列座位的学生是" + seat1.getStudentn().getName() + ",他的学号为" + seat1.getStudentn().getId());
}
}
class Studentn { //学生类
private String Name;
private String Id;
private Seat seat;//一对一关系 将学生类与座位单向一对一的
public Seat getSeat() {
return seat;
}
public void setSeat(Seat seat) {
this.seat = seat;
}
public Studentn() {
}
public Studentn(String Name, String Id) {
this.Name = Name;
this.Id = Id;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public String getId() {
return Id;
}
public void setId(String Id) {
this.Id = Id;
}
}
class Seat { //座位类
int row;//排
int column;//列
/**
* 若在另一个里面也定义一个对应的单向一对一,则形成双向的一对一,可以互相对应
*/
private Studentn studentn;
public Studentn getStudentn() {
return studentn;
}
public void setStudentn(Studentn studentn) {
this.studentn = studentn;
}
public Seat() {
}
public Seat(int row, int column) {
this.row = row;
this.column = column;
}
public int getRow() {
return row;
}
public void setRow(int row) {
this.row = row;
}
public int getColumn() {
return column;
}
public void setColumn(int column) {
this.column = column;
}
}
运行结果如下: