java中this的用法_java中this怎么用

发布时间:2017-06-01 11:59

This,英语单词,发音:[英][ðɪs][美][ðɪs]。常翻译为:这,这么。java中this的用法有哪些呢?本文是小编整理java中this的用法的资料,仅供参考。

java中this的用法1

1. this指当前对象。

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

public class Hello {

String s = "Hello";

public Hello(String s){

System.out.println("s = " + s);

System.out.println("1 -> this.s = " + this.s);

this.s = s;

System.out.println("2 -> this.s = " + this.s);

}

public static void main(String[] args) {

Hello x=new Hello("HelloWorld!");

}

}

运行结果:

s = HelloWorld!

1 -> this.s = Hello

2 -> this.s = HelloWorld!

在这个例子中,构造函数Hello中,参数s与类Hello的变量s同名,这时直接对s进行操作则是对参数s进行操作。对类Hello的成员变量s进行操作就应该用this进行引用。运行结果的第一行就是直接对构造函数中传递过来的参数s进行打印结果;

第二行是对成员变量s的打印;第三行是先对成员变量s赋传过来的参数s值后再打印,所以结果是HelloWorld!

2. this作为参数传递

当你要把自己作为参数传递给别的对象时如:

public class A {

public A() {

new B(this).print();

}

public void print() {

System.out.println("Hello from A!");

}

}

public class B {

A a;

public B(A a) {

this.a = a;

}

public void print() {

a.print();

System.out.println("Hello from B!");

}

}

运行结果:

Hello from A!

Hello from B!

在这个例子中,对象A的构造函数中,new

B(this)把对象A作为参数传递给了对象B的构造函数。

java中this的用法2

一、指自己所在的对象。

比如在一搜索个方法中,调用其他对象的变量或方法时,可以使用那个对象的对象名,比如aa.abc();

而调用自己所在对象的方法或变量时,不知道别人给起了什么名,所以直接用this.abc()就可以了。

二、看一个小例子中“this”的用法!

/**

* @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对象!

}

}

运行结果:

Int constructor i——this.i: 10——11

String constructor: ok

String constructor: ok again!

Int constructor: 21

String constructor: ok again!

14

细节问题注释已经写的比较清楚了,总结一下,其实this主要要三种用法:

1、表示对当前对象的引用!

2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。

3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!

还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!

this的词语用法

adj.(形容词)this用作形容词作“这”解时,用于修饰表示在时间、地点、想法上更接近讲话者的事物或人,也可与包括现在的日子或一段时间的词语连用。

“this+one's+ n. ”是一种简洁的文体,有强调意味; “this+基数词+时间名词”表示一段时间。this可与of短语连用,后接名词性物主代词或名词所有格。

pron.(代词)this用作代词可用以指叙述中的人或事物,即指前面提到过的人或事物或下文提及的事物; this一般作主语时才指人; 在电话用语中, this用来指代自己。

当陈述部分的主语是this时,附加疑问部分的主语须用it。

java中this的用法_java中this怎么用的评论条评论