/**

* @author fengzhi-neusoft

*

* 本示例为了说明this的三种用法!

*/

package test;

public class ThisTest {

private int i=0;

//第一个构造器:有一个int型形参

ThisTest(int i){

this.i=i+1;//此时this表示引用成员变量i,而非函数参数i

System.out.println("Int constructor i——this.i:  "+i+"——"+this.i);

System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));

//从两个输出结果充分证明了i和this.i是不一样的!

}

//  第二个构造器:有一个String型形参

ThisTest(String s){

System.out.println("String constructor:  "+s);

}

//  第三个构造器:有一个int型形参和一个String型形参

ThisTest(int i,String s){

this(s);//this调用第二个构造器

//this(i);

/*此处不能用,因为其他任何方法都不能调用构造器,只有构造方法能调用他。

但是必须注意:就算是构造方法调用构造器,也必须为于其第一行,构造方法也只能调

用一个且仅一次构造器!*/

this.i=i++;//this以引用该类的成员变量

System.out.println("Int constructor:  "+i+"/n"+"String constructor:  "+s);

}

public ThisTest increment(){

this.i++;

return this;//返回的是当前的对象,该对象属于(ThisTest)

}

public static void main(String[] args){

ThisTest tt0=new ThisTest(10);

ThisTest tt1=new ThisTest("ok");

ThisTest tt2=new ThisTest(20,"ok again!");

System.out.println(tt0.increment().increment().increment().i);

//tt0.increment()返回一个在tt0基础上i++的ThisTest对象,

//接着又返回在上面返回的对象基础上i++的ThisTest对象!

}

}

java this 代替_关于JAVA中this的使用方法小结相关推荐

  1. java drawimage 参数_小程序中canvas的drawImage方法参数使用详解

    最近在开发小程序,海报生成的过程中,要在carvas中不断去添加图片,对小程序的drawImage参数不是很明确,这次解惑. 示例代码 有三个版本的写法: drawImage(imageResourc ...

  2. Go语言中字符串的查找方法小结

    这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下 1.func Contains(s, substr string) ...

  3. java coin介绍_代码示例中的Java 7:Project Coin

    java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...

  4. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  5. java 文件 剪切_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 很多朋友在看我的<java IO总结系列>之前觉得创建文件.文件夹删除文件这些基础操作真的是太简单了.但看了我的文章之后,有小 ...

  6. java List最大_在java中获取List集合中最大的日期时间操作

    取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...

  7. java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创

    由于项目中用到了Applet与Servlet之间(客户端用Applet.Server端用Servlet)的通信,要求: 1:>客户端与服务端必须出Log. 2:>浏览器在加载Applet时 ...

  8. java 判断精度_随笔⑦ Java中的比较 ==,equals以及精度对比较的影响

    Java中的比较 ==,equals ① 对于==,如果是作用于基本数据类型的变量,则直接比较其存储的"值"是否相等:如果是作用于引用类型的变量,则比较的是所指向的对象的地址. ② ...

  9. java jar 目录_将Java类路径中的所有jar包括在一个目录中

    有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...

  10. java gradle构建_在Gradle中为JPMS构建Java 6-8库

    java gradle构建 通过提供Java 9 module-info.class了解如何使用Gradle构建支持JPMS( Java平台模块系统 )的Java 6-8库. 介绍 如果您需要JPMS ...

最新文章

  1. ArrayList集合为什么不能使用foreach增加、删除、修改元素
  2. 使用svn控制系统的优缺点和注意事项
  3. java接口防抖_前端性能优化:高频执行事件/方法的防抖
  4. Verilog设计实例(6)基于Verilog的各种移位寄存器实现
  5. N分类模型评估计算方法
  6. MySQL:数据操作
  7. 【洛谷P3846】【TJOI2007】—可爱的质数(BSGS模板)
  8. C/C++编程的一些技巧
  9. c++求矩阵的秩_线性代数复习(被玩坏的矩阵)
  10. AIoT五营连开惊喜活动上线!
  11. 天津鑫茂工业园区--------------三维虚拟现实系统
  12. 我为什么卸载了今日头条
  13. android华为虚拟截屏黑屏,Android截屏表面视图显示黑屏
  14. 将您的SQL Server工作负载迁移到PostgreSQL –第4部分
  15. C++之再探参数绑定bind、bind1st、bind2nd、placeholders占位符
  16. flask创建虚拟环境
  17. SpringMVC——处理方法返回值的可选类型
  18. [CERC2017]Intrinsic Interval(神仙+线段树)
  19. 【推荐】微信运营书一箩筐,微信运营手册、微信力量
  20. 2013 Office安装aurora公式编辑器

热门文章

  1. Docker 开发环境正在崩坏!
  2. 春眠不觉晓,SQL 知多少?| 原力计划
  3. 十行代码实现十亿图片检索,我们把它开源了
  4. 程序员为什么非得参加一场编程竞赛?
  5. 我优化多年的 C 语言竟然被 80 行 Haskell 打败了?
  6. 难怪各家抢滩物联网!真实原因竟是……
  7. 代码编辑器横评:为什么 VS Code 能拔得头筹?| 程序员硬核评测
  8. 腾讯京东内部大换血,高管“遭殃”,年轻人“欢呼”!
  9. 阿里京东被怼假货泛滥;谷歌 CEO 承认中国版搜索 App 存在;YouTube 全球宕机 | 极客头条...
  10. @程序员,你的技术过气了吗?