this关键字

this
  • 通常写this的时候,都是指“这个对象”或者“当前对象”,this本身表示对当前对象的引用。this关键字只能在方法内部使用,表示“调用方法的那个对象”的引用。
  • static方法就是没有this的方法。
    原因:
    1. static关键字含义的角度,static方法不与包含它的类的任何对象关联在一起(static关键字被设计的意义之一),this表示“当前对象”,static是无法关联到“当前对象”的。
    2. 从内存分析的角度,static修饰的方法(即静态方法),存储的位置是方法区,而对象实例都随机不连续(“不连续”是指不同对象实例在堆中的存储位置)地存储在Java堆中,因为方法区内没有存储对象实例的相关引用(地址),所以不能解读“this”指代的含义。
.this
  • 应用场景:内部类
  • 作用:生成对外部类对象的引用,产生的引用自动地具有正确的类型(在编译期被知晓并受到检查)。
public class OuterClass {
	...
	public class InnerClass {
		public OuterClass outer() {
			return OuterClass.this;
			// A plain "this" would be InnerClass`s "this"
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值