2个回答
展开全部
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
更多追问追答
追问
您好:)谢谢您的回答:)那我们什么时候需要标出this呢?
追答
this可以在实例方法和构造方法中出现,但不可以在类方法中出现。意思是在方法中出现时代表对象。在窗口体中可以代表窗口。
展开全部
使用this的几种情况:
1)构造方法中,参数名字与类属性名字一样时,为了区分两者,使用this指定当前对象的属性
public class Student{
String name;
int age;
public Student(String name, int age){
this.name = name; //参数名与属性名相同,所以用this做区分,表示把参数值赋予属性
this.age = age;
}
}
2) setter方法中,参数名与属性名称一样,为了区分两者, 使用this。
public void setName(String nam){
this.name = name;
}
3)在一个构造函数中要调用另一个构造函数时,使用this(....)
4)子类中如果有了与父类名字一样的属性或者方法时,可以使用this.xxx和super.xxx来进行区分。实际上此时this.可以省略。
不知道回答的是否清楚。
1)构造方法中,参数名字与类属性名字一样时,为了区分两者,使用this指定当前对象的属性
public class Student{
String name;
int age;
public Student(String name, int age){
this.name = name; //参数名与属性名相同,所以用this做区分,表示把参数值赋予属性
this.age = age;
}
}
2) setter方法中,参数名与属性名称一样,为了区分两者, 使用this。
public void setName(String nam){
this.name = name;
}
3)在一个构造函数中要调用另一个构造函数时,使用this(....)
4)子类中如果有了与父类名字一样的属性或者方法时,可以使用this.xxx和super.xxx来进行区分。实际上此时this.可以省略。
不知道回答的是否清楚。
追问
非常感谢您!:)您说的这四点我会牢牢记下的:)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询