问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java this什么意思?

发布网友 发布时间:2022-04-23 06:27

我来回答

4个回答

热心网友 时间:2023-08-30 17:46

想理解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的,因为静态的属性和方法属于类,属于公共的东西,而不专属于某一个对象
}

热心网友 时间:2023-08-30 17:46

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的构造函数。

热心网友 时间:2023-08-30 17:47

class test
{
private int num;
public void set(int num)
{
this.num=num;
}
public void fun(int num)
{
this.set(num);
}
}
通过对象来调用方法或属性,但是在一些情况下需要调用当前对象自身的方法或者属性,就用this来指代,本质上,它是一个指向当前对象自身的指针,可以参照c++中的this指针来理解I

热心网友 时间:2023-08-30 17:47

当前对象
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
qq空间的花藤怎么样才能开更多的花 QQ空间里的花藤怎样长的快 QQ空间领养的花藤怎样成长快点啊、? 新宝马x1的空调滤芯在哪里? 下载电脑管家后,网页游戏微端不能登录了,是不是管家隔离区里的 对微端... 烈焰传奇为什么无法登录烈焰微端无法登陆游戏 街机三国用微端登陆不了,总提示登陆超时,怎解决? 如何在word中插入己有公式的 excel表,并在文档中多处引用这张表计算结果... 钢化玻璃碎了会掉么 朝阳的社保中心地址 要结婚辞职报告怎么写 java中this的作用及用法是什么? 要回家结婚辞职报告怎么写 辞职申请报告我要回家结婚怎么写 如何才能长高?(我是个13岁的男孩儿) java中this是干什么的,具体的作用是什么。 因为结婚辞职信怎么写 用结婚做理由的离职申请书怎么写 13岁男生怎么样才能长高点? JAVA中的this是什么意思? 要结婚怎么写辞职报告 java中this变量是什么? 结婚离职申请书怎么写 java中“this”的用法是什么? 结婚辞职申请书怎么写 13岁男孩长高方法? java里this是什么意思? 13岁男少年一年长高方法 13岁男孩如何长高 13岁男孩长高方法 离职已结婚为理由怎么写申请书 java当中this应该怎么理解? 员工辞职申请书回家结婚的范文怎么写 因为要回家和女朋友结婚了 所以要辞职了 求一封合适的辞职信 结婚辞职申请怎么写 请问要回家结婚辞职申请怎么写 军人结婚规定是什么 离职理由回家结婚怎么写好 刚来没有几个月因为要回家结婚离职申请书1500字 军婚法定结婚年龄 怎么写辞职申请书? 当兵法定结婚年龄是多少 女儿结婚我要回家辞职报告怎么写 个人原因辞职信怎么写? cad怎样在矩形上画凹槽 CAD中画矩形的命令是什么? 在CAD中,我想画规定尺寸的矩形怎么画? CAD的怎么画矩形呢? CAD绘图的时候,怎么在指定位置绘制矩形? 小baby的八字分析,取名应注意什么?