轉發請注明出處:
安卓猴的博客(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);
}
}