程序思路分析: 程序的执行目的:一个人有一本书,这本书属于一个人。求:这个人有哪本书,这本书属于哪个人? 需要的类:Person类、Book类 程序实例: class Person{ private String name; //姓名 private int age; //年龄 private Book book; //创建Book类的对象book public Person(String name,int age){ //构造方法 this.setName(name); this.setAge(age); } public void setBook(Book book){ //设置需要创建Book类的对象 this.book = book; } public void setName(String name){ this.name = name; } public void setAge(int age){ if(age >= 0 && age <=120){ this.age = age; } } public Book getBook(){ //返回用户创建的Book类的对象 return this.book; } public String getName(){ return this.name; } public int getAge(){ return this.age; } } class Book{ private String bookName; //书名 private float price; //书的价格 private Person per; //创建Person类的对象per public Book(String bookName, float price){ //构造方法 this.setBookName(bookName); this.setPrice(price); } public void setPer(Person per){ //设置需要创建的Person类的对象 this.per = per; } public void setBookName(String bookName){ this.bookName = bookName; } public void setPrice(float price){ if(price >= 0){ this.price = price; } } public Person getPer(){ //返回用户创建的Person类的对象 return this.per; } public String getBookName(){ return this.bookName; } public float getPrice(){ return this.price; } } //主方法 public class Test{ public static void main(String [] args){ Person per = new Person("Syskey",18); //调用构造方法,给姓名和年龄赋值 Book book = new Book("钢铁是怎样炼成的",50.0f); //调用构造方法,给书名和价格赋值 per.setBook(book); //调用Person类的setBook()方法设置需要创建的对象 book.setPer(per); //调用Book类的setPer()方法设置需要创建的对象 //通过Person类调用所创建对象的getBookName()方法,取得书的名称。 System.out.println("书名:" + per.getBook().getBookName() + "----->价格:" + per.getBook().getPrice()); //通过Book类调用所创建对象的getName()方法,取得人的姓名。 System.out.println("/n姓名:" + book.getPer().getName() + "----->年龄:" + book.getPer().getAge()); } }