小鵬品牌超充站華北區域 28 城全覆蓋:北京、天津、河北、山西、內蒙古
構造器
類中的構造器也稱為構造方法,是在進行建立物件的時候必須要呼叫的。
特點:
- 必須和類的名字相同
- 必須沒有返回型別,也不能寫void
作用:
- new本質在呼叫構造方法
- 初始化物件的值
注意點:
- 定義有參構造之後,如果使用無參構造,顯示的定義一個無參的構造
Alt + Insert 快捷鍵
public class Person { //一個類即使什麼都不寫,它也會存在一個方法 //顯示的定義構造器 String name; int age; //1.使用new關鍵字,本質是在呼叫構造器 //2.用來初始化值 public Person() { } //有參構造:一旦定義了有參構造,無參就必去顯示定義 public Person(String name, int age) { this.name = name; this.age = age; } //alt+insert 快捷生成構造器 }
main方法
//一個專案應該只存在一個main方法
public class Application {
public static void main(String[] args) {
Person person = new Person("changge",18);
System.out.println(person.name);
}
}
構造器與方法的區別
功能和作用的不同
構造器是為了建立類的一個物件,同時可以對屬性做初始化。
方法僅僅是功能函式。
修飾符
構造器和方法都可以被 public,protected,default,private修飾。但不同於方法的是,構造器不能有以下非訪問性質的修飾: abstract, final,static,native,synchronized。
1.構造器不是通過繼承得到的,所以沒必要把它宣告為final(如果是繼承得到的,根據重寫的多型性,呼叫本類構造器卻實際執行子類構造器,則可以用final限制)。
2.一個抽象的構造器將不會在本類中被實現,所以也不能宣告為abstract的。
3.構造器總是關聯一個物件而被呼叫,所以把它宣告為static是沒有意義的。(但其實構造器預設是static的)
返回型別
方法必須要有返回型別,能返回任何型別的值或者無返回值(void),構造器沒有返回值,也不需要void。
命名
構造器名與類名相同,而方法名則無具體規定。按照習慣,方法通常用小寫字母開始,而構造器通常用大寫字母開始。構造器通常是一個名詞,因為它和類名相同;而方法通常更接近動詞,因為它說明一個操作。
呼叫
構造方法:總是伴隨著new操作符的執行被呼叫,不能對一個已經存在的物件呼叫構造器來達到重新設定例項域的目的。
一般方法:在物件建立之後才可以呼叫,並且可以呼叫多次。
"this"的用法
方法中使用this指向正在執行方法的類的物件。(靜態方法不能使用this關鍵字,因為靜態方法不屬於類的物件,所以this也就沒有什麼東西去指向)。
構造器中的this指向同一個類中,不同引數列表的另外一個構造器,且呼叫程式碼必須放在第一行,否則編譯將出錯。