this关键字的部分讲解

this是Java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。

class A{
	int x;//相当于 this.x
	static int y;
	void f(){
		this.x = 100;
		A.y = 200;
	}
}

上述A类中的实例方法f中出现了this,this就代表使用f的当前对象,“this.x”就表示当前对象的变量x,当对象调用方法f时,将100赋值给该对象的变量x。
因此,当一个对象调用方法时,方法中的实例成员变量就是指分配给该对象的实例成员变量,而static变量和其他对象共享。因此,通常情况下,可以省略实例成员变量名字前面的“this.”以及static变量前面的“类名.”。
即:

class A{
	int x;
	static int y;
	void f(){
		x = 100;
		y = 200;
	}
}

但是,当实例变量成员变量的名字和局部变量的名字相同时,成员变量前面的“this.”或“类名.”就不可省略。
即:

class A{
	int x;
	static int y;
	void f(int x){
		this.x = x;//this.x为实例变量x,x为局部变量x。
		y = 200;
	}
}

注:this不能出现在类方法中,这是因为类方法可以通过类名直接调用,这时,可能还没有任何对象诞生。

为了更好的理解以上讲解,提供练习代码如下:

class B{
	int x = 100,y = 200;
	public void setX(int x){
		x = x;
	}
	public void setY(int y){
		this.y = y;
	}
	public int getXYSum(){
		return x+y;
	}
}
public class A{
	public static void main(String args[]){
		B b = new B();
		b.setX(-100);
		b.setY(-200);
		System.out.println("sum="+b.getXYSum());
	}
}

输出结果:
sum=-100

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,this关键字表示当前对象的引用。可以将其理解为指向当前对象的指针。它可以用于以下情况: 1. 引用当前对象的实例变量或方法:this可以用来引用当前对象的实例变量或方法。例如,如果两个变量名相同,使用this关键字可以指定使用实例变量而不是方法参数。例如: ```java public class Person { private String name; public void setName(String name) { this.name = name; } } ``` 在上面的示例中,this.name引用的是实例变量,而name参数引用的是方法参数。 2. 调用当前对象的构造函数:this关键字可以用来调用当前对象的构造函数。这种用法通常用于构造函数重载。例如: ```java public class Person { private String name; private int age; public Person(String name) { this(name, 0); } public Person(String name, int age) { this.name = name; this.age = age; } } ``` 在上面的示例中,第一个构造函数调用了第二个构造函数,并传递了一个默认值的age参数。 3. 返回当前对象的引用:this关键字可以用于返回当前对象的引用。例如: ```java public class Person { private String name; public Person setName(String name) { this.name = name; return this; } } ``` 在上面的示例中,setName方法返回了当前对象的引用,可以使用链式调用来设置多个属性。 总之,this关键字可以用于引用当前对象的实例变量或方法,调用当前对象的构造函数以及返回当前对象的引用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值