this 一般用于方法里面。
普通方法中,加不加this 无所谓
this 被称作隐式参数
创建对象时,内存会把this 当成参数传给一个对象,作为参数,因为this是一个隐式参数。比如public void study() 在内存中是public void study(this)
static方法里面不能用this,内存结构中,static方法里没有对象,static 方法也不能传递this对象,static方法不能调用普通属性和方法
this()使用
ppackage com.bjsxt.testthis;
public class Student {
String name;
int id;
public void study() {
this.name="zhangsan";
System.out.println(name);
}
public void sayHello(String aname) {
System.out.println(name + "say hello to " + aname);
}
public Student(String name,int id){
//this();//this调用其他构造方法,必须位于第一句
this(name);//this调用其他构造方法,必须位于第一句
this.name=name;
this.id=id;
}
public Student(String name) {
// TODO 自动生成的构造函数存根
this.name=name;
}
public Student() {
// TODO 自动生成的构造函数存根
}
}