Java中的当前对象this问题

在Java中this可以表示当前对象,现在的问题是:这个“当前对象”是不是表示类的实例?如果这个类继承了另外一个类,那么这个“当前对象”又表示什么?如果这个类实现了一个接口,那么这个“当前对象”又表示什么?如果这个类既继承了另外一个类又实现了一个接口,那么这个“当前对象”又表示什么呢?

首先,当代码没执行前,或没执行到之前,this 是没有指向的,执行时this 就指回当前的对象。当前对象就是当前对象,如果指向父类,是用SUPER。详细点说,如果类有属性,this.XXX就是指这个类的xxx属性,有方法的,this.xx().就是指这个类的xx()方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-22
对象和类型是有区别的。你上面提到的父类和接口都是类型,对象就是一个实例。举个例子吧,比如学生是父类,大学生是子类,然后人是接口。只要你实例化了一个大学生的对象,他即使人(接口),学生(父类),同样也是大学生。。。。this是指这个对象。。。
第2个回答  2019-03-14
给你一个一看能明白的例子

常规的是这样
public class TestThis {
public static void main(String[] args) {
TestThis tt=new TestThis();
System.out.println(tt);
tt.pintThis();
}
public void pintThis(){
System.out.println(this);
}
}
上面的不好明白其实相当于这样写:
public class TestThis {
public static void main(String[] args) {
TestThis tt=new TestThis();
System.out.println(tt);
tt.pintThis(tt);
}
public void pintThis(TestThis tthis){
System.out.println(tthis);
}
}
可以理解为谁调用pintThis()方法,this就是调用这个方法对象的实例,在使用this的时候它不知道this是谁,等到对象创建了以后调用pintThis()时才知道this是谁
相似回答