用术语解释只会让初学者听得满头包,我也说说吧,慢慢的来了解,弄清楚每一个东西是什么,再你往下看前你必须确定你自己有足够的耐心,呵呵,刚起步都很累的。

借用yzbczq朋友的例子: public class People{ String name; //这个name这就是我们说的类的成员变量(也叫类的属性) 

public void getName(String name){ //这里的是name是一个参数,是getName这一个方法(也叫函数)的一个参数(变量),跟上面的name不是一样的东西!你必须弄清楚现在有两个变量(参数)的存在 

this.name = name; } } 好了,然后到问题来了这时候我们有一个成员变量,跟一个方法里面的局部变量(先弄清楚我说的两个东西分别是什么,不然别往下看),但是它们的名字是一样的! 好了,我们先别管this,如果我们有一个这个类的实例对象叫person(所谓类的对象,就是根据什么People这一个类(图纸)所制造出来的实例),那么这时候 this.name=name的意思也就相当于person.name,现在知道this说的是什么了吧?然后后面的那个name就是我们那个函数方法里面的参数,如果我们getName(String x),把这个name改名成为x,那么我们可以写成: name = x,为什么此时可以直接用name呢?因为name是我们People这个类中的一个成员变量,而我们getName这里面没有一样名为name的变量,它就会直接引用我们的成员变量了。但是如果getName这个函数里面也定义了一个同名为name的变量,那么!这个函数就会以它自身的这个变量为准,所以如果在你的原例子中不用this,那么在这个函数里面不就是相当于说,我的一个变量等于它自己本身,这不是废话吗? 

好了,我们再说this,this就是说现在这个实例(还记得实例把,我们这里的实例名字叫person),我们的getName可不止只有person这个实例引用的啊,如果我们写成person.name=name,那么如果我创建一个名字叫person2的实例,引用这个函数会是什么样的情况?那么现在明白this的作用了吧,它就是“我”的意思,你说的我,跟我本人说的我,都是我(都是this),但却指代了不同的东西。 

呵呵,说得有点罗嗦了,但是,应该能看懂了吧。你这个this.name=name是在一个方法里面的吧,有点想起张孝祥的那个教程。 还有作为一个过来人,其实到后面的语法很简单,很容易看明白,但是理论基础却非常的苦涩难懂!但这个非常的重要,你看完上面朋友的留言没办法看懂的话就是基础不过关,你的基础不过关你即使请教别的高手你也没办法明白他们在说什么。呵呵,开始才是最难的,反复的看完再看,必须把教程的每一句弄懂,不然你即使知道了语法,以后也会出很多问题,最难的莫过于这些抽象的概念。你必须先了解清楚面向对象,对于初学者,下面的这篇文章是我见过的最好的,有点长,但如果没那个耐心,你还是放弃java吧: 

【小知识】java中的this.name=name是什么意思啊??this 有什么用啊,再哪出现?相关推荐

  1. 小知识 | Java中的“魔数”

    转载自 小知识 | Java中的"魔数" 在编程过程中,我们可能经常听到"魔数"这个词,那么这个词到底指的是什么呢?什么数叫做魔数呢? 一.标识文件类型的&qu ...

  2. java定义一个eat方法_小黄鸭系列java基础知识 | java中的方法

    前言 今天我们要探讨的问题,是java基础语法的最后一个问题,也就是java中的方法,今天主要从以下几个方面来介绍: 方法是什么(定义) 方法的分类 方法的调用 应该说,学完今天的知识,你至少应该看懂 ...

  3. c语言冷门小知识,生活中的冷门小知识有哪些

    其实生活中充满了冷门知识,比如喝醋能够防止晕车.花生可以祛牙黄等等.下面是学习啦小编为大家整理的关于生活中的冷门小知识,希望大家喜欢! 生活中的冷门小知识 洗衣机强档比弱档节能 很多人没注意,在同样长 ...

  4. python中函数的参数_Python小知识-Python中的函数参数(基础篇)

    0 总述 这个题目分为2篇,第一篇基本上是概念以及实例,有个相对系统的认识,第二篇想写的深入一些,不同参数类型的区别以及和c/c++的函数参数对比下异同-下面开始是第一篇的内容啦- Python中的函 ...

  5. NPDP产品经理小知识:新产品开发中的管道管理

    [Product Pipeline/(产品)管道] (产品)管道:将开发产品投放市场的预定途径. [Pipeline Management / 管道管理 ] 管道管理:将产品战略.项目管理和职能管理整 ...

  6. vue 中indexof_前端小知识-Vue中使用indexOf() 方法

    定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(searchvalue,fromindex) 参数描述searc ...

  7. 小技巧 ----- Java中指定保留几位小数

    方法1:使用String类的format方法 String.format("%.6f", 小数),表示将该数保留6位小数 方法2:使用BigDecimal BigDeciaml d ...

  8. 小技巧 ----- Java中的进制转换

    自带的API Integer.parseInt(数, 数对应的进制)/Integer.valueOf(数, 数对应的进制) ----- 将不同进制数转为十进制数 Integer.toString(十进 ...

  9. 一天一个小知识-- kt中的object关键字

最新文章

  1. 框架模式 MVC 在Android中的使用
  2. c++ -- 构造函数与析构函数
  3. 大数据市场规模5年将达8000亿 交易平台忙圈地
  4. vue 导入公共css_HTML+CSS入门 vue引入通用CSS
  5. 当开启了延迟加载的开关,对象是怎么变成代理对象的?
  6. 动态Java代码注入
  7. java 自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇
  8. STL之set_union、set_intersection、set_difference、set_symmetric_difference
  9. 《深入浅出DPDK》读书笔记(三):NUMA - Non Uniform Memory Architecture 非统一内存架构
  10. tsm2812通用定时器中断_通用定时器中断(TIM2)
  11. PyCharm——Youki觉得好用的快捷键~
  12. 基于大数据技术的电信客户流失预测模型 研究及应用 大数据
  13. Win10快捷键大全
  14. 程序员必备开发工具(IDE)推荐
  15. SICP 练习1.8
  16. linux中php是什么指令,什么是linux命令
  17. 有效前沿和最优投资组合matlab,matlab 实验名称:投资组合分析 实验性质:综合性和研究探索性 实 联合开发网 - pudn.com...
  18. 【工具】LaTeX-OCR一款免费的公式识别软件
  19. Magical String
  20. C语言实现求字符串的长度

热门文章

  1. 读书笔记-《ON JAVA 中文版》-摘要8[第八章 复用]
  2. 【前端学习笔记】浮动属性
  3. HTML实现圣诞树(HTML+CSS+JavaScript)
  4. C语言之指针知识大总结
  5. 【linux】一文总结linux的环境变量
  6. 个税起征点上调,你每月能省多少?最后还有点凉水
  7. h.265不是视频压缩技术未来的5个原因
  8. c语言do循环函数,C语言do-while循环
  9. linux查看磁盘使用情况命令
  10. 波段选择方法综述:Hyperspectral Band Selection A review