構造方法:
- 構成:修飾詞+方法名(參數列表){
方法
}
注:
- 沒有返回值這一項。
- 方法名必須與當前的類名一致。
創建自己的構造方法
分類:
- 無參的構造方法:會將成員變量初始化成null或0或false等。
- 有參的構造方法:會將成員變量先初始化並進行賦值(通過傳入的參數賦值)
構造方法的調用:
- 調用時候的構成:類名+()
- 作用:對對象的屬性進行初始化,如果我們不自己創建構造方法,系統會調用默認的無參構造方法。
注:1. 一旦創建了自己的構造方法,就不會調用系統默認的無參構造方法
2. 多個構造方法直接是重載的關係
this關鍵字
- this :是一個關鍵字,是一種引用數據類型,代表的是當前的對象,保存的是當前對象的地址。
- 場景:想在當前類內部拿到當前對象的引用的時候使用this
- 作用:1.區分成員變量和局部變量
- 2.可以在構造方法中調用其他重載的構造方法,提高代碼的複用性,簡化代碼。
關於this 的注意點
- 在作爲方法的時候,只適用於構造方法。
- 不能自己調用自己——死循環
- 不能相互調用——死循環
- 在構造方法中調用其他重載的方法時,必須寫在第一行
- 在靜態方法中無法使用this
public class Demo05 {
public static void main(String[] args) {
Student stu = new Student();//構造方法--系統默認創建的構造方法
stu.name="bingbing";
Student stu1 = new Student("bingbing");
System.out.println(stu1.name);
}
}class Student{
String name;
int age;
int weight;
public void study() {
System.out.println("study");
}
//創建無參的構造方法
public Student() {
//this(); 自己調用自己會造成死循環
//在構造方法的內部會自動的進行屬性的初始化
System.out.println("無參構造方法");
}
//創建有參的構造方法
//當成員變量與形參名字一致時,方法內部識別的是形參,依據的是就近原則
//就近原則 是從內存的角度考慮遠近
public Student(String name) {
this.name = name;//給對象的屬性完成賦值
System.out.println("有參的構造方法");
}
public Student(String name,int age) {
//通過this調用其他構造方法的時候必須放在當前方法的第一行
//System.out.println();
this(name);//調用有一個參數的構造方法
this.age = age;
System.out.println("有參的構造方法");
}
public Student(String name,int age,int weight) {
this(name,age);//代表在調用兩個參數的構造方法
this.weight=weight;
System.out.println("有參的構造方法");
}
}