JAVAjava中this的使用


  java中的this随处可见, 用法也多, 现在整理有几点:

  1. this是指当前对象自己。

  JAVA当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。 如下面这个例子中:

  运行结果:

  在这个例子中, 构造函数hello中, 参数s与类hello的变量s同名, 这时假如直接对s停止操作则是对参数s停止操作。 若要对类hello的成员变量s停止操作就应该用this停止引用。 运行结果的第一行就是直接对构造函数中传递过去的参数s停止打印结果;第二行是对成员变量s的打印?坏谌惺窍榷猿稍北淞縮赋传过去的参数s值后再打印?越峁莌elloworld!

  当你要把自己作为参数传递给别的对象时, 也可以用this。 如:

  运行结果:

  在这个例子中, 对象a的构造函数中, 用newb(this)把对象a自己作为参数传递给了对象b的构造函数。

  3. 注意匿名类和外部类中的中的this。

  有时分, 我们会用到一些外部类和匿名类, 如事件处置。 当在匿嘀杏胻his时, 这个this则指的是匿名类或外部类本身。 这时假如我们要使用外部类的方法和变量的话, 则应该加上外部类的类名。 如下面这个例子:

  在上面这个例子中, thread是一个匿名类对象, 在它的定义中, 它的run函数里用到了外部类的run函数。 这时由于函数同名, 直接调用就不行了。 这时有两种方法, 一种就是把外部的run函数换一个名字, 但这种方法对于一个开发到中途的使用来说是不可取的。 那么就可以用这个例子中的方法用外部类的类名加上this引用来阐明要调用的是外部类的方法run。

  4。 在构造函数中, 经过this可以调用同一class中别的构造函数, 如

  //petals++;调用另一个构造函数的语句必须在最起始的位置

  //this(ss);会发生错误, 由于在一个构造函数中只能调用一个构造函数

  值得注意的是:

  1:在构造调用另一个构造函数, 调用举措必须置于最起始的位置。

  2:不能在构造函数以外的任何函数内调用构造函数。

  3:在一个构造函数内只能调用一个构造函数。
文章由能量平衡素效果怎么样整理,收集辛苦,希望能保留出处。

posted on 2011-05-08 23:33  jiyizhen3721  阅读(144)  评论(0编辑  收藏  举报