牛逼的This使用
今天看到一个很不错的this使用demo:
package com.toov5.Reordering;
class Message1{
private Channel channel;
private String title;
private String content;
public Message1(Channel channel,String title, String content) {
this.channel=channel;
this.title=title;
this.content=content;
}
public void send(){
if (this.channel.isConnect()) {
System.out.println("发送消息title"+this.title+"conten"+this.content);
}else {
System.out.println("无法发送");
}
}
}
class Channel{
private Message1 message;
public Channel(String title, String content) {
this.message=new Message1(this, title, content);
this.message.send();
}
public boolean isConnect(){
return true;
}
}
public class ThisTest {
public static void main(String[] args) {
Channel ch = new Channel("toov5", "happy");
// Message message = new Message(ch, "toov2", "happy");
// message.send();
}
}
this 代表当前对象的引用
成员对象 应该又对象去调用
this代表当前的对象地址
package com.toov5.test;
class Car{
private int num;
public void setNum(int num) {
this.num=num; //这里面的this 代表了 C 这个对象地址哦 局部变量给成员变量赋值 get方法中 return this.num this可以不写默认
}
public void run() {
System.out.println("数量"+num);
}
}
class Demo2_Car {
public static void main(String[] args) {
Car c = new Car();
c.setNum(123);
c.run();
}
}
如果不用this 就近原则的话 就是给自己复制了 name 给 name赋值 (区分成员变量 和 局部变量了 重名情况)
num 已经被私有了,不能到别的类里面去调用
然后 先用this
等创建完了对象 去调用时候 就代表那个对象了
牛逼的This使用的更多相关文章
- 为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?
为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技 ...
- 我喜欢ASP.NET的MVC因为它牛逼的9大理由(转载)
我很早就关注ASP.NET的mvc的,因为最开始是学了Java的MVC,由于工作的原因一直在做.Net开发,最近的几个新项目我采用了MVC做了,我个一直都非常喜欢.Net的MVC.我们为什么使用MVC ...
- 最牛逼android上的图表库MpChart(三) 条形图
最牛逼android上的图表库MpChart三 条形图 BarChart条形图介绍 BarChart条形图实例 BarChart效果 最牛逼android上的图表库MpChart(三) 条形图 最近工 ...
- 最牛逼android上的图表库MpChart(二) 折线图
最牛逼android上的图表库MpChart二 折线图 MpChart折线图介绍 MpChart折线图实例 MpChart效果 最牛逼android上的图表库MpChart(二) 折线图 最近工作中, ...
- 最牛逼android上的图表库MpChart(一) 介绍篇
最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...
- .Net免费公开课视频+资料+源码+经典牛逼 汇总篇【持续更新】
博主推荐一:WP8.1最经典培训教程 博主点评:经典Windows Phone8.1 Runtime API培训最经典教程,此教程由传智播客蒋坤老师录制的一整套WP8.1入门级视频教程,讲授内容非常广 ...
- 科学家有了钱以后,真是挺吓人的——D.E.Shaw的牛逼人生
科学家有了钱以后,真是挺吓人的——D.E.Shaw的牛逼人生 黑科技,还是要提D.E.Shaw Research这个奇异的存在. 要讲这个黑科技,我们可能要扯远一点,先讲讲D.E. Shaw这个人是怎 ...
- cssViewer牛逼的chrome插件
很牛逼,功能很强大.
- NBU是最牛逼的备份软件
NBU是最牛逼的备份软件 TSM是IBM的备份 好好看看几个厂商 VERITAS 公司下的NBU入门级备份有BEHP的备份软件有DPIBM的是TSMCommvault也非常牛逼这都是做到了小机AI ...
- js深入研究之牛逼的类封装设计
<script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { ...
随机推荐
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) Order Book 模拟
原题链接:http://codeforces.com/contest/572/problem/B 题意 很迷,自行看题. 题解 看懂题就会做了 代码 #include<iostream> ...
- 使用jersey组件向图片资源服务器上传图片报403,405,409 Method Not Allowed错误
一.错误如下 在使用Jersey进行图片跨服务上传时遇到了如下问题: 二.代码如下 1.pom.xml <dependency> <groupId>com.sun.jersey ...
- n个平面把空间最多分成几个部分?
题目: n个平面把空间最多分成几个部分? 解答: 1条直线可以把平面分成2部分,2条直线最多可以把平面分成4部分, 3条直线最多可以把平面分成几部分,4条直线呢?你能不能想出n条直线最多可以把平面分成 ...
- Jmeter Summariser report及其可视化
Jmeter summariser report的设置在:bin/jmeter.properties #------------------------------------------------ ...
- Direct2D教程(九)渲染位图
概述 这篇的标题更确切的说应该叫位图画刷,这样才好和前几篇对应起来.在Direct2D中,位图的渲染也是通过画刷来实现的. Direct2D中并没有直接操作位图的接口,而是借助WIC(Windows ...
- 【转载】Spark学习——入门
要学习分布式以及数据分析.机器学习之类的,觉得可以通过一些实际的编码项目入手.最近Spark很火,也有不少招聘需要Spark,而且与传统的Hadoop相比,Spark貌似有一些优势.所以就以Spark ...
- Nginx 第三方模块的安装以及一致性哈希算法的使用
Nginx 第三方模块的安装以及一致性哈希算法的使用 第三方模块安装方法总结: 以ngx_http_php_memcache_standard_balancer-master为例 1:解压 到 pat ...
- PHP中的$_SERVER['PATH_INFO']
PHP中的全局变量$_SERVER['PATH_INFO']是一个很有用的参数,众多的CMS系统在美化自己的URL的时候,都用到了这个参数. 对于下面这个网址: http://www.test.com ...
- Android 设计模式之单例模式
设计模式是前人在开发过程中总结的一些经验,我们在开发过程中依据实际的情况,套用合适的设计模式,能够使程序结构更加简单.利于程序的扩展和维护.但也不是没有使用设计模式的程序就不好.如简单的程序就不用了, ...
- 系统安全-PAM
Pluggable Authentication Modules(可插入验证模块,简称PAM) Linux-PAM(Pluggable Authentication Modules for Linux ...