java中this是什么_Java中this关键字是什么

本文介绍了Java中this关键字的作用,指出this是一个指向当前对象的引用,存在于堆内存中,常用于实例方法和构造方法中访问对象属性。同时,讲解了静态代码块的执行时机,以及何时声明静态变量、实例变量、静态方法和实例方法。强调了this不能在静态方法中使用,并探讨了构造方法中如何通过this调用其他构造方法。
摘要由CSDN通过智能技术生成

Java中this关键字是什么

本章节目标:

理解this是什么,this能用在哪里,不能用在哪里,this什么时候可以省略,什么时候不能省略,以及怎么通过构造方法调用当前类中其它的构造方法。掌握静态代码块的执行时机,变量什么时候声明为静态变量,什么时候声明为实例变量,方法什么时候声明为实例方法,什么时候声明为静态方法,以及静态方法中为何不能直接访问实例变量和实例方法。

知识框架:

09f19cdf9bcd47e21e74879b553a1e4f.png

this是什么

this是java语言中的一个关键字,它存储在内存的什么地方呢,一起来看一段程序:

public class Customer {

private String name;

public Customer(){

}

public Customer(String _name){

name = _name;

}

public void setName(String _name){

name = _name;

}

public String getName(){

return name;

}

}

public class CustomerTest {

public static void main(String[] args) {

Customer jack = new Customer("jack");

Customer rose = new Customer("rose");

}

}

以上程序的内存结构图如下所示:

f946d37d8b969810e0f6cff960ce6640.png

图11-1:this内存图

this可以看做一个变量,它是一个引用,存储在Java虚拟机堆内存的对象内部,this这个引用保存了当前对象的内存地址指向自身,任何一个堆内存的java对象都有一个this,也就是说创建100个java对象则分别对应100个this。通过以上的内存图,可以看出“jack引用”保存的内存地址是0x1111,对应的“this引用”保存的内存地址也是0x1111,所以“jack引用”和“this引用”是可以划等号的。也就是说访问对象的时候jack.name和this.name是一样的,都是访问该引用所指向对象的name属性。

this指向“当前对象”,也可以说this代表“当前对象”,this可以使用在实例方法中以及构造方法中,语法格式分别为“this.”和“this(..)”。this不能出现在带有static的方法当中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值