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; } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
网站常见问题1分钟定位 - 如何使用阿里云ARMS诊断Java应用卡顿问题
不要慌,上面只是一张贴图。 为什么“慢”那么难查 网站卡顿、页面加载过慢是互联网应用最常见的问题之一。排查、解决这类问题通常会花费开发运维人员大量的时间,通常是因为以下三个原因: 应用链路太长,无从下手。 从前端页面到后台网关,从Web应用服务器到后台数据库,任何一个环节的问题都有可能导致请求整体卡顿,到底是前端资源加载过慢?还是数据库出了问题?还是新发布的服务端代码有性能问题?出现问题的原因五花八门。 采用“微服务”架构的应用,链路更加复杂。不同组件可能由不同的团队、人员分别维护,加剧了问题排查的难度。 日志不全或质量欠佳,现场缺失。 应用日志无疑是排查线上问题的神器,但出现问题的位置往往无法预期,发生了问题通常会发现日志信息不全 -- 我们不可能在每一个有可能出现问题的地方打印日志。 “慢”的定义偏主观,“慢”有时候往往也是偶发现象
- 下一篇
Java 面向对象 之 static 关键字
http://www.verejava.com/?id=16992774752140 /** 知识点: static 关键字 1. static 的使用 2. static 变量的内存分配 3. static 的使用限制 4. 主方法 main 的剖析 */ public class TestStatic { public static void main(String[] args) { //实例化一个用户 User user1 = new User("xiongmao"); User.count++; System.out.println("实例化用户总数 : " + User.count); //实例化第二个用户 User user2 = new User("tanglang"); User.count++; System.out.println("实例化用户总数 :" + User.count); } } class User { private String username;//用户名 public static int count;//计数器 public User(St...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果