Java 面向对象 之 对象引用 this的引用

http://www.verejava.com/?id=16992770416239

/**
	对象与对象, 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://www.verejava.com/?id=16992770416239

posted @ 2018-06-19 12:37  verejava  阅读(416)  评论(0编辑  收藏  举报