码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习 - 引出this关键字

时间:2017-05-10 18:57:28      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:this关键字   定义   多个   另一个   alt   分享   返回值   http   方式   

需求:定义一个User类,提供name,age字段,以及相应getter/setter方法。
并创建对象,设置name和age数据,在打印对象的name,age。


什么是this:
表示当前对象,什么又是当前对象
this只要存在于两个位置:
构造器中:就表示当前创建的对象
方法中:哪一个对象调用this所在的方法,那么此时this就表示哪一个对象;


使用this:
1:解决成员变量和参数(局部变量)之间的二义性,必须使用;
2:同类中实例方法间互调(此时可以省略this,但是不建议省略)。
3:将this作为参数传递给另一个方法;
4:将this作为方法的返回值(链式方法编程);
5:构造器重载的互调,this(参数)必须写在构造方法第一行;
6:static不能和this一起使用;
当字节码被加载近JVM,static成员已经存在了,
但是此时对象还没有创建,没有对象,就没有this。


创建对象并对象设置初始值有两个方式:
方式1:先通过无参数构造器创建出一个对象,再通过对象调用相应的setter方法,
方式2:直接调用参数的构造器,创建出来的对象,就有了初始值。
----------------------------------------------------------------------------

通过构造器和通过setter方法都可以完成相同的功能
给对象设置数据:
1:setter注入(属性注入)
2:构造注入
------------------------------------------------------------------------------

如何选择:
1:如何存在带参数的构造器,方式2是比较简洁的。
2:如果在构建对象的时候需要初始化多个数据,如果使用方式2,那么构造器得提供N个参数,参数过大,
不直观,此时方式1,简单明了。
3:有时候需要根据数据来构建对象,此时优先选用构造器方式。

技术分享

Java学习 - 引出this关键字

标签:this关键字   定义   多个   另一个   alt   分享   返回值   http   方式   

原文地址:http://www.cnblogs.com/patriot/p/6837309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!