本文共 2783 字,大约阅读时间需要 9 分钟。
/** 对象与对象, this的引用 题目:我把书借给朋友,朋友看完归还书 思路: 1. 从题目的名词找出对应的类 朋友(Friend) ,我(Person),书(Book) 2. 找出类与类之间的关系 书是属于我的 Book->Person 朋友是属于我的朋友 Friend->Person 但是必须经过我的同意才能成为我的朋友 3. 通过2就可以知道 a->b 就在 b中要添加一个a 的引用对象 4. 从题目的动词 抽象出 方法 借给(lend) Book->Friend*/public class Refenrence1 { public static void main(String[] args) { //实例化我的对象 Person p = new Person(); p.setName("胡杨"); //实例化一本java编程书籍,并添加到我里面 p.setBook(new Book("Java编程书籍")); //打印我拥有的书籍名称 System.out.println(p.getName() + " 拥有一本 " + p.getBook().getBookName()); //实例化一个朋友对象 Friend friend = new Friend(); friend.setName("李阳"); //将李阳设置成我的朋友,当然我也成为李阳的好朋友 p.setFriend(friend); //打印我的好朋友 System.out.println("我的好朋友是 : " + p.getFriend().getName()); //然后把书借给朋友 p.lendBook(); //朋友打印拥有的书籍 System.out.println(friend.getName() + " 也可以读 " + friend.getBook().getBookName() + " 了"); //归还书籍 friend.setBook(null); //打印我拥有的书籍名称 System.out.println(friend.getName() + " 也可以读 " + friend.getBook().getBookName() + " 了"); System.out.println(p.getName() + " 拥有一本 " + p.getBook().getBookName()); //然后我检查一下我的书籍发现李阳把书弄坏了,断绝朋友关系 p.setFriend(null); System.out.println("我的朋友是: " + p.getFriend()); }}class Friend { private String name; private Book book;//借给我的书的引用 private Person person;//我也是朋友的好朋友 public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Book getBook() { return book; } public void setBook(Book book) { this.book = book; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; }}class Person { private String name; private Book book;//book属于我,添加一个Book对象的引用 private Friend friend; //friend是我的朋友, 添加一个Friend对象引用 //把书借给朋友 public void lendBook() { friend.setBook(book); } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Book getBook() { return this.book; } public void setBook(Book book) { this.book = book; } public Friend getFriend() { return this.friend; } public void setFriend(Friend friend) { //你是我的好朋友 this.friend = friend; //我也是你的好朋友 friend.setPerson(this); }}class Book { private String bookName; public Book(String bookName) { this.bookName = bookName; } public String getBookName() { return this.bookName; } public void setBookName(String bookName) { this.bookName = bookName; }}
转载地址:http://eyuio.baihongyu.com/