1. 程式人生 > >this關鍵字和static

this關鍵字和static

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:呼叫靜態方法。
 */