定义一个Person类
public class Person { //定义Person类
private String name; //姓名
private int age; //年龄
private Book book; //一个人有一本书
private Person child; //一个人有一个孩子
public Person(String name, int age) { //通过构造设置内容
this.setName(name);
this.setAge(age);
}
public String getName() { //返回姓名
return this.name;
}
public void setName(String name) { //设置姓名
this.name = name;
}
public int getAge() { //返回年龄
return this.age;
}
public void setAge(int age) { //设置年龄
this.age = age;
}
public Book getBook() { //得到本人的书
return this.book;
}
public void setBook(Book book) { //设置本人的书
this.book = book;
}
public Person getChild() { //返回孩子
return this.child;
}
public void setChild(Person child) { //设置孩子
this.child = child;
}
}
定义一个Book类
public class Book { //定义书本类
private String title; //标题
private float price; //价格
private Person person; //一本书属于一个人
public Book(String title, float price) { //通过构造设置内容
this.setTitle(title);
this.setPrice(price);
}
public String getTitle() { //返回标题
return this.title;
}
public void setTitle(String title) { //设置标题
this.title = title;
}
public float getPrice() { //返回价格
return this.price;
}
public void setPrice(float price) { //设置价格
this.price = price;
}
public Person getPerson() { //得到书的所有人
return this.person;
}
public void setPerson(Person person) { //设置书的所有人
this.person = person;
}
}
定义一个Demo类
public class Demo{
public static void main(String[] args){
Person adult = new Person("张三", 30); //定义一个成年人
Person child = new Person("张草", 10); //定义一个小孩子
Book book1 = new Book("Java SE核心开发", 90.0f); //实例化book1
Book book2 = new Book("一千零一夜", 30.0f); //实例化book2
adult.setBook(book1); //设置对象间的关系,一个成年人有一本书
book1.setPerson(adult); //设置对象间的关系,book1书属于成年人
child.setBook(book2); //设置对象间的关系,一个小孩子有一本书
book2.setPerson(child); //设置对象间的关系,book2书属于小孩子
adult.setChild(child); //设置对象间的关系,一个成年人有一个孩子
//从成年人找到书的信息
System.out.println("从人找到书——" + "姓名:" + adult.getName() + "," +
"年龄:" + adult.getAge() + "," + "书名:" + adult.getBook().getTitle() + "," +
"价格:" + adult.getBook().getPrice());
//从书找到成年人的信息
System.out.println("从书找到人——" + "书名:" + book1.getTitle() + "," +
"价格:" + book1.getPrice() + "," + "姓名:" + book1.getPerson().getName() + "," +
"年龄:" + book1.getPerson().getAge());
//从成年人找到小孩子的信息
System.out.println(adult.getName() + "的孩子——" + "姓名:" + adult.getChild().getName() + "," +
"年龄:" + adult.getChild().getAge() + "," + "书名:" + adult.getChild().getBook().getTitle() + "," +
"价格:" + adult.getChild().getBook().getPrice());
}
}
运行结果:
从人找到书——姓名:张三,年龄:30,书名:Java SE核心开发,价格:90.0
从书找到人——书名:Java SE核心开发,价格:90.0,姓名:张三,年龄:30
张三的孩子——姓名:张草,年龄:10,书名:一千零一夜,价格:30.0
从书找到人——书名:Java SE核心开发,价格:90.0,姓名:张三,年龄:30
张三的孩子——姓名:张草,年龄:10,书名:一千零一夜,价格:30.0