this()在java中什么意思?

 我来答
Conqueror
高粉答主

2018-05-22 · 关注我不会让你失望
知道大有可为答主
回答量:794
采纳率:100%
帮助的人:24.1万
展开全部

this表示类实例本身。

this的用法:

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

public class A{

public A getA(){

return this;//表示获取当前实例本身

}

}

2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!

public class A{

private int a = 0;//位置1

public A getA(int a){

this.a = a;//前面this.a表示 位置1 的a,赋值=号右侧的表示参数a

}

}

3、用于在构造方法中引用满足指定参数类型的构造器。

public class A{

public A(int a){

}

public A(){ 

this(1);//这里调用自身的构造函数public A(int a){

}

}

Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序

用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。

kehengqun
2012-10-08 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:95.1万
展开全部
想理解this首先要理解两个概念,类和对象。一个一般的类可以new很多对象,每一个对象都有一个this来指向这个对象本身。类本身是没有this的,因为类本身是一个抽象的概念。要想用类的方法和属性,就必须new一个他的对象,这时会产生一个对应的this,就是this object;或者用静态方法,静态方法可以不用new对象,因为是属于类的方法,所以所有静态方法里是不能出现this的。
比如:
class A{
private int data;
public void setData(int data){
this.data = data;////这个this表示的是这个类new的一个对象,而不是类本身。就是这个类没有new出一个对象之前,是不能调用这个方法的。
}
public int getData(){
return this.data;////


public static void print(){
System.out.println("This IS a static functions.");//这是一个静态方法,里面是不允许有this的,因为静态的属性和方法属于类,属于公共的东西,而不专属于某一个对象
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samismiling
2015-06-25 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5603

向TA提问 私信TA
展开全部
java中的this随处可见,用法也多,现在整理有几点:

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作为参数传递
当你要把自己作为参数传递给别的对象时,也可以用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的构造函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
198901245631
推荐于2017-10-06 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1721万
展开全部
你好,简单的说this的字面意思就是这个,这个就是你当前指着的东西,你在类里面的this也就是你的当前类,如
this.getname();就是你当前的类里面的一个方法,
你的this()是构造方法,在java中用的而不是很多
但是this.的用法很普遍,一般的私有变量在别人要访问的时候都会有set ,get方法,通常会用到你的这个this引用
下面是我找的一个实例
自己去参考着看一下吧,写的还不错
http://wenku.baidu.com/view/9cc74d11cc7931b765ce15bb.html
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiji0524lucky
2013-04-17 · 超过10用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:24.3万
展开全部
1.this指向调用对象本身的引用名
2.另一种 用法是让构造方法调用同一个类的另一个构造方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式