20184月16学习java中的this关键字总结

原创 2018年04月16日 21:37:24

1:什么是this关键字?

   this关键字是指当前对象。

      例如以下代码:

                               public clas Test

                               {

                                             String str=null;

                                            public  void hello(String str)//定义方法

                                            {

                                                    this.str=str;//这里的this.str就是指的是当前这个类中的成员变量str,所以this.str相当与

                                                                            test.str。

                                                                     //从这里可以看出this关键字代表的就是对象的名字

                                            }

                               }

2:为什么需要this关键字?

           由上面的例子可以看出,有一个成员变量str,同时方法中也有一个参数str,两个名字相同。但是java运行到这里它是如何判断的呢?是将成员变量str赋值给参数str,还是将参数str赋值给成员变量str?也就是说,当方法中有一个参数跟类中的成员变量一样时,java该如何去判断两个变量?这时this关键字就体现出它的功能了。this这个关键字代表的就是对象中的成员变量或方法,也就是说,在某个类的方法里面用到this指的是这个对象的成员变量或方法,而不是指成员方法的参数或者成员方法下的变量。但在这里有一个问题?既然要区分参数和成员变量,那么我们就把他们设置不一样的名字就不用到this关键字了。这是因为为了保持代码可读性,一般将方法内的参数名称和成员变量的名称保持一致,但是java提倡构造方法参数和类属性名称相同的做法。所以在需要用到this关键字。重要一点是为了区分方法参数和成员变量同名时进行区分。

3:this关键字的作用:

           为了便于别人阅读,提高代码的可读性。当别人看到this这个关键字会认为这是类中的成员变量或者方法,而不会认为是类方法中的局部变量。重要一点是区分方法参数和成员变量同名时进行区分。

 4:this关键字的用法例子

      (1):this关键字代表就是一个对象的名字。参考下面的代码。

                               public clas Test

                               {

                                             String str=null;

                                            public  void hello(String str)//定义方法

                                            {

                                                    this.str=str;//这里的this.str就是指的是当前这个类中的成员变量str,所以this.str相当与

                                                                            test.str。这只是理解,不是等于

                                                                     //从这里可以看出this关键字代表的就是对象的名字

                                            }

                               }

          例子2

                 

                                            public clas Test

                                             {

                                             String str=null;

                                            public  void hello()//定义方法

                                            {

                                                   return str;//这里不用到this.str是因为java编译器知道str是成员变量中的str,也可以说str是全局变量,作用域是在整个类的内部。这里方法hell没有参数str,所有不需要区分,不需要加this

                                            }

            例子3://调用普通方法

                                          public clas Test

                                             {

                                             String str=null;

                                          public void print()

                                            {

                                                System.out.println("***************************");

                                            }

          

                                             public void print()

                                            {

                                                  this.print();//调用普通方法

                                            }

                                            }

          例子4:调用构造方法

                  

总结this关键字的三种用法:

            1.  使用this关键字用来区分方法中的参数和成员变量,this指的是类的成员变量或者是方法。this代表是一个对象的名字,this关键字代表的是对象中的成员变量或方法,从this的用法可以看出规律:所以this肯定是用在某个类的方法里面

            2.   使用this关键字在自身构造方法内部引用其他构造方法

            3:使用this关键字代表自身类的对象

            4:使用this关键字调用成员方法或构造方法

有点理解为什么构造方法需要this,因为构造方法名称一样,但是参数不一样,如果有很多一样的构造方法,但是参数不一样,我们用到this就可以知道调用哪个构造方法,java编译器会从this调用的参数数量的不同去找是哪一个构造方法。

不过如果要使用这种方式来调用构造方法的话,有一个语法上的限制。一般来说,利用this关键字来调用构造方法,只有在无参数构造方法中第一句使用this调用有参数的构造方法。否则的话,翻译的时候,就会有错误信息。这跟引用成员变量不同。如果引用成员变量的话,this关键字是没有位置上的限制的。如果不熟悉这个限制的话,那么还是老老实实的采用传统的构造方法调用方式为好。虽然比较麻烦,但是至少不会出错。

待续更新!

总结:JAVA 开发 程序设计月度总结

时间:2018年1月23日 地点:广州市天河区 项目:指标 总结:  项目流程:   需求 -- 原型 -- 设计 -- 前端/后台 -- 测试 -- 运维  其中,需求和原型...
  • u011073057
  • u011073057
  • 2018-01-23 13:38:08
  • 42

2018-3月学习总结

3月学习计划本来是学习4门课程,分别是高数,Java实战,数据结构和Hadoop基础。学习时间的安排上是周中每天抽出4-6个小时学习,周末6个小时学习。计划是完成Hadoop基础和数据结构的全书内容。...
  • Ffffatass
  • Ffffatass
  • 2018-04-01 07:46:52
  • 111

JAVA 学习 自我总结

学习总结: 孔子曰学而时习之 不亦悦乎 。学习了新的东西,一定要及时练习和总结,并多次回想记忆,这样才能将知识记忆的牢固; 之前我学习东西只知道贪多,想一口吃一个胖子;但是每次都是事倍功半,这样又...
  • u010582345
  • u010582345
  • 2016-04-08 23:58:32
  • 683

java里this关键字的作用总结

this关键字的作用: 1、表示类中的属性。   class Person{       // 定义Person类      private String name ;       //...
  • zhang434
  • zhang434
  • 2013-12-09 15:44:07
  • 1581

Java this 关键字用法

介绍Java中this关键字的用法,包括在构造方法中this关键字的用法,非在构造方法中this关键字的用法,继承关系下this关键字含义的变化,以及super和this关键字的异同。...
  • ccpat
  • ccpat
  • 2015-03-21 13:42:12
  • 5952

Java中this关键字详解

一、this关键字主要有三个应用:  (1)this调用本类中的属性,也就是类中的成员变量;  (2)this调用本类中的其他方法;  (3)this调用本类中的其他构造方法,调用时要放...
  • oleg_wu
  • oleg_wu
  • 2016-11-22 11:40:41
  • 4229

三月份学习总结与读后感

三月份转瞬即逝,今天已是4月1号。 三月的上半月浏览了疯狂Java李刚写的《提升程序员基本功的16课》,较多知识都已了解,因此走马观花浏览了一遍。而到今天回顾这本书的内容,似乎能记住的已经寥寥无几。...
  • u010425776
  • u010425776
  • 2016-04-01 21:53:26
  • 1693

java中this关键字的作用

一、this关键字主要有三个应用: (1)this调用本类中的属性,也就是类中的成员变量; (2)this调用本类中的其他方法; (3)this调用本类中的其他构造方法,调用时要放在构造方法的首...
  • DYC410181341
  • DYC410181341
  • 2014-06-24 10:47:27
  • 19178

this关键字的总结.doc

  • 2011年09月20日 22:11
  • 31KB
  • 下载

Java学习笔记:详解this关键字

this关键字在Java中表示以下概念: |·调用类中的属性:this.属性; |·调用类中的方法:this.方法(); |·调用类中的构造:this(); |·表示当前对象 ...
  • java1992
  • java1992
  • 2010-08-23 11:09:00
  • 4016
收藏助手
不良信息举报
您举报文章:20184月16学习java中的this关键字总结
举报原因:
原因补充:

(最多只允许输入30个字)