1. 程式人生 > >037_面向物件_10_this隱式引數

037_面向物件_10_this隱式引數

一、this關鍵字

  a)普通方法中,this總是指向呼叫該方法的物件。

  b)構造方法中,this總是指向正要初始化的物件。

  c)this可以理解為一個一個方法的隱式引數,還有個super也可看作隱式引數。那個物件呼叫指向那個物件。

二、this最常的用法
  a)讓類中的一個方法,訪問該類的另一個方法或屬性。
  b)使用this關鍵字呼叫過載構造方法。避免相同的初始化程式碼,只能在構造方法中用,並且必須位於構造方法的第一句

三、this使用時的注意事項
  this不能用於static方法!(this指向當前物件,static方法跟物件沒有一毛錢的關係)

四、演示示例

  

package edu.aeon.test;

/**
 * [說明]測試this關鍵字的用法
 * 
 * @author aeon
 * 
 */
public class Student {
    String name;
    int id;

    public Student(String name, int id) {
        // 通過this呼叫其他構造方法,必須位於第一句! Constructor call must be the first statement
        // in a constructor
        this(name);
        
this.name = name; this.id = id; } public Student(String name) { this.name = name; } public Student() { System.out.println("構造一個物件"); } public void setName(String name) { this.name = name; } public void study() { this.name = "張三"; System.out.println(name
+ "在學習"); } public void sayHello(String sname) { System.out.println(name + "向" + sname + "說:你好!"); } }