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

java里的“this”到底是什么意思1220

发布网友 发布时间:2023-10-25 14:42

我来回答

5个回答

热心网友 时间:2024-11-23 22:30

this代表当前对象的意思。
这个this肯定是用在某个类的方法里吧。呵呵,我们继续往下说。

举个例子:
public class persion{

private String name=null;
private int age;

public void setName(String name){
this.name=name;
}
public String getName(){

return name;
}

}

在这个类中setName方法中第一个变量用this是为了和本方法的参数this做区别,表示这个name指的是Person这个类的name属性,而不是name参数,如果去掉这个this,执行完这个方法后,Person类的name属性仍然为null
getName方法返回的Person类的name,之所以不用this是因为没有必要,因为编译器会知道这个name就指的是Person的name而不是其他的name(因为找个方法没有name变量和它混淆)。当然,这个方法你也可以显示的使用return this.name,没错。
这些都是最基本的了。开始学只要记住这个就可以了。慢慢的其他的用法也就无师自通了!

热心网友 时间:2024-11-23 22:30

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){
   }
}

热心网友 时间:2024-11-23 22:31

this为一系统资源,只允许用户读而不允许写,它存放当前对象的地址(引用)。

this变量有以下作用:

1. 构造方法重用:

public class Rectangle{
public Rectangle(Location at, Shape size) {…}
public Rectangle(Shape size,Location at){
this(at, size); }
public Rectangle(Location at) {
this(at, new Shape(100,100));
}
public Rectangle(Shape size) {
this(size, new Location(1,1));
}
public Rectangle() {
this(new Location(1,1), new Shape(100,100));
}
}

2、消除歧义:

Location{
private int x;
private int y;
public Location(int x,int y) {
this.x=x;
this.y=y;
}
……
}

3、返回对象-链式方法调用:

public class Count {
private int i = 0;
Count increment() {
i++;
return this; //返回对象的地址,所以我们可以链式访问它
}
void print() {
System.out.println("i = " + i);
}
}
public class CountTest{
public static void main(String[] args) {
Count x = new Count();
x.increment().increment().print();
}
}

4、作为参数传递"this”变量-进行回调:

假设有一个容器类和一个部件类,在容器类的某个方法中要创建部件类的实例对象,而部件类的构造方法要接受一个代表其所在容器的参数。例如:
class Container
{
Component comp;
public void addComponent()
{
comp = new Component(this); //代表你所创建的对象,因为它要用到.
}
}
class Component
{
Container myContainer;
public Component(Container c)
{
myContainer = c;
}
}

其中我们开发中最常用到的地方是第二点,消除歧义。

比方说有类
public class A
里面有几个变量
private String aa,
private String bb;

this 在这里就代表A ,其实它是对对象A的引用。
我们在用到aa或者bb的时候,this.aa 和 直接用aa 是没有区别的。
但是假如你在某个方法里也有个变量aa,比如:
public void dosomething(String aa){
this.aa = aa;
//这个时候就this.aa 代表对象A中的变量,而不加this的话,代表方法中的变量。
}

热心网友 时间:2024-11-23 22:31

public class Test {

private String name;

public String getName() {
return name;
}

public void setName(String name) {
//如果不加this,输出null
name = name;
}

public static void main(String[] args) {
Test t = new Test();
t.setName("zhangsan");
System.out.println(t.getName());

}

}

public class Test {

private String name;

public String getName() {
return name;
}

public void setName(String name) {
//如果加this,输出张三
this.name = name;
}

public static void main(String[] args) {
Test t = new Test();
t.setName("zhangsan");
System.out.println(t.getName());

}

}

其实this就表示当前对象,在设置属性的时候,如果变量名相同,可以起到区分的作用

热心网友 时间:2024-11-23 22:32

我记得是专项指示。。。具体的真忘记了。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 Lol老鼠和Vn买哪个? 技嘉b85 hd34x4cpu供电只有4针怎么办1 深圳市众力诚能源高科技有限公司怎么样? 四川那里有纸厂在收购竹子碎片128 ...位小数时,由于错误地把数的末尾对齐,结果得到4.18,正确的得数应当... 求各位学霸指点一下,😁😁&#...1 运输公司经营范围是什么381 英雄联盟VN和老鼠哪个好用287 轻微中风引起右半边有点嘛但是力气正常要做脑血管造影吗? 眼高手低怎么治? 苹果6s手机电池损耗可以免费换新的吗1 婴儿胆红素脑病出现惊厥.拒奶.头向后仰严重吗 如何选择浴霸? 王姓男孩,请大家帮忙起个三个字的名字,名字最后一个字要有“涵”字... 同一张身份证绑定的两个,有一个显示零钱支付超过10万被限制了... 硬连接和软连接牵引装置有什么区别?分别在什么情况下使用?2 江畔独步寻花的的前两句写花的什么从哪几个词可以看出来237 丰田卡罗拉方向机坏了,能修吗?8 早上起来喝温水好还是和冷水好呢?7 小米 5s 在哪里设置网络类型? 劳动争议赔偿金适用范围 银屑病是吃鸡蛋羹好一点还是吃鸡蛋好一点 大学生放寒假发放寒假通知书吗 多彩暑假 ,多彩生活——厦门路小学一、二中队假期“十个一”活动... 美联储印3000亿买国债对中国有什么影响?49 四川绵阳梓潼有没有造纸厂2 卡西欧EFB-503 的光动能电池是什么型号的?或者哪里能买到匹配的电池啊... 货物运输有限公司的经营范围37 运输公司的经营范围261 去角质要掌握正确方法,皮肤去角质的方法,肌肤才能更加嫩白光滑_百度... p503手机电池充电时间 平板货车车后载人扣分吗?严重吗?扣多少罚多少? 5斤葱头要多少盐 安踏外套上的这句话有什么意思 劳动仲裁时可以把赔偿金和补偿金同时列在请求事项中吗? 索尼相机的优缺点?中哪一款性能最好?最贵的多少钱?33 您好。请问SONYRX100、RX10、RX1这三个系列...569 江昄独步寻花中写出物我交融,情景相生的句子是什么2 索尼长焦系列和系列哪个好 一个人能同时申请两个吗?7