this用于普通方法:指向调用该方法对象
this用于构造器:指向正要初始化对象
this()调用其它构造方法
this不能用于static方法
/**
* 测试this隐式参数
* @author 1376417539
*
*/
public class Testthis {
String name;
int id;
public Testthis(String name , int id) {
this(); //通过this调用其它构造方法
this.name = name; //指向上面定义的String name,并初始化
this.id = id; //同理
System.out.println(name + "会打针" + "编号是:" + id);
}
public Testthis() {
System.out.println("我是医生。");// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Testthis doc = new Testthis("张三",1);
}
}
/**
* output:我是医生。
* 张三会打针编号是:1
*/
static(静态)方法中不能使用this关键字,在静态方法内部不可以调用非静态方法(并非完全不可以),反过来可以,并且可以在不创建对象的情况下直接通过类本身调用static方法。
public class Teststatic {
public static void main(String[] args) {
PrintTest1("调用静态方法。");
}
static void PrintTest1(String s) {
System.out.println(s);
}
}
/**
* output:调用静态方法。
*/