this關鍵字和static
阿新 • • 發佈:2018-12-09
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:呼叫靜態方法。
*/