課程5.0之this的使用方法

轉發請注明出處:
安卓猴的博客(http://sunjiajia.com)


本節課程將學習以下內容:

  • this的涵義
  • 使用this調用成員變量和成員函數
  • 使用this調用構造函數

this的涵義

this代表一個對象,它代表了調用當前類中的變量或者函數的對象。

使用this調用成員變量和成員函數

例子:(請動手)

1.新建一個名為Person.java的Java源文件:

class Person{
  String name;

  void talk(){
    // 這里的this就是一個Person的對象。
    System.out.println("My name is " + this.name);
  }
}

2.新建一個名為Demo01.java的Java源文件:

class Demo01{
  public static void main(String[] args) {
    Person p1 = new Person();
    p1.name = "zhang3";

    Person p2 = new Person();
    p2.name = "li4";

    // 由于Person類中的talk方法中,有了this.name的表達,用了this關鍵字,
    // 因此,當p1調用talk()方法時,this.name相當于p1.name;
    // 當p2調用talk()方法時,this.name相當于p2.name。
    p1.talk();
    p2.talk();
  }
}

使用this調用構造函數

  • 格式:this(參數1,參數2);
  • 它的作用是調用同一個類中的其他構造函數,
  • this的()中有幾個參數,就會調用有幾個參數的構造函數。
  • 注意:它必須放在當前構造函數的第一行。

例子:(請動手)

1.新建一個名為Dog.java的Java源文件:

class Dog{
  String name;
  int age;
  String color;

  Dog(){
    System.out.println("無參數的構造方法");
  }

  Dog(String name, int age){
    // 這里的this.name代表成員變量name,“=”后面的name就代表構造函數的參數name;
    this.name = name;
    this.age = age;

    System.out.println("2個參數的構造方法");
  }

  Dog(String name, int age, String color){
    // (重點)使用this調用構造函數
    // 格式:this(參數1,參數2);
    // 它的作用是調用同一個類中的其他構造函數,
    // this的()中有幾個參數,就會調用有幾個參數的構造函數
    this(name, age);
    this.color = color;

    System.out.println("3個參數的構造方法");
  }

  void shout(){
    // 這里的this就是一個Person的對象。
    System.out.println("Dog's name is " + this.name);
  }
}

2.新建一個名為Demo02.java的Java源文件:

class Demo02{
  public static void main(String[] args) {
    Dog dog1 = new Dog("小白", 1, "白色");
    System.out.println("=============我是分割線=============");
    Dog dog2 = new Dog("小黑", 3);
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 前言 人生苦多,快來 Kotlin ,快速學習Kotlin! 什么是Kotlin? Kotlin 是種靜態類型編程...
    任半生囂狂閱讀 26,276評論 9 118
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,446評論 25 708
  • 隔行如童話閱讀 172評論 2 0