博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 面向对象 之 对象引用 this的引用
阅读量:6590 次
发布时间:2019-06-24

本文共 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/

你可能感兴趣的文章
使用流的方式往页面前台输出图片
查看>>
Shader 学习笔记 ---Depth of Field 介绍
查看>>
星级 评分
查看>>
通信协议之广播---recvfrom 放回客户端的ip地址第一次全为0.0.0.0
查看>>
oracle-3-子查询和常用函数
查看>>
item2
查看>>
云计算面临安全挑战
查看>>
C# 线程手册 第三章 使用线程 Monitor.TryEnter()
查看>>
分享11个超棒的移动应用(mobile apps)开发解决方案
查看>>
C/C++获取文件大小
查看>>
深入理解Java内存模型(五)——锁
查看>>
Chalubo僵尸网络来袭 IOT设备或将受到DDoS攻击
查看>>
如何实现百万TPS?详解JMQ4的存储设计
查看>>
这么说吧,NIO很简单,其实就是个牛逼IO
查看>>
使用Python快速获取公众号文章定制电子书(二)
查看>>
iOS下JS与OC互相调用(七)--Cordova 基础
查看>>
Three.js 关于立方体贴图产生边缘锯齿问题
查看>>
Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
查看>>
【开发问题记录①】关于滑动CollectionView时ContentSize变化的问题
查看>>
java中GC的基本概念
查看>>