Java 的this问题。
发布网友
发布时间:2022-05-26 12:57
我来回答
共2个回答
热心网友
时间:2023-09-13 20:19
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
热心网友
时间:2023-09-13 20:20
使用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.可以省略。
不知道回答的是否清楚。追问非常感谢您!:)您说的这四点我会牢牢记下的:)