構造器是一種特殊的函式。其主要功能是用來在建立物件時初始化物件, 即為物件成員變數賦初始值,總與new操作符一起使用在建立物件的語句中。構造器名與類名相同,可過載多個不同的構造器。構造器,建構函式,構造方法三者是乙個概念。
1.如果類中沒有定義任何構造器,系統會給我們預設提供乙個無參的構造器。2.如果類中定義了構造器,那麼系統就不會再給我們提供預設的無參構造器。
修飾符 類名 (引數列表)
功能和作用的不同
構造器是為了建立類的乙個物件,同時可以對屬性做初始化。方法僅僅是功能函式。
修飾符構造器和方法都可以被 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指向同乙個類中,不同引數列表的另外乙個構造器,且呼叫**必須放在第一行,否則編譯將出錯。
如果乙個類之中存在了多個構造方法的話,並且這些構造方法都使用了this()互相呼叫,那麼至少要保留乙個沒有呼叫過其他構造方法的構造方法,以作為程式的出口。
"super"的用法
構造器和方法,都用關鍵字super指向超類。方法用這個關鍵字去執行被重寫的超類中的方法(沒被重寫就不用加上super了),構造器使用super去呼叫超類中的構造器。而且呼叫**必須放在第一行,否則編譯將出錯。如果子類構造器沒有顯示的呼叫超類的構造器,則將自動地呼叫超類預設(無引數)的構造器,如果超類沒有不帶引數的構造器,並且在子類的構造器中又沒有顯示地呼叫超類其他地構造器,則編譯將出錯。(之所以子類一定要用super呼叫超類構造器,是因為必須先對父類進行初始化與例項化,才能實現繼承,從而吸收已有類的屬性和行為並且對新類進行擴充套件。)繼承
構造器是不能被繼承的。子類可以繼承超類的某些方法。因為如果構造器可以被繼承,則子類可以通過繼承構造器產生父類物件,這樣就會出現子類引用指向父類物件的情況。更何況,每次例項化子類的時候都會「自動執行」它父類的建構函式,子類完全沒必要擴充套件父類的建構函式。
public class com
public com()
public static void main(string args)
}output:
public com()
public void com()
XHTML 它與 HTML的區別?如何轉換
什麼是 xhtml?xhtml 是以 xml 格式編寫的 html。xhtml 指的是可擴充套件超文字標記語言 xhtml 與 html 4.01 幾乎是相同的 xhtml 是更嚴格更純淨的 html 版本 xhtml 是以 xml 應用的方式定義的 html xhtml 是 2001 年 1 月發...
XHTML 它與 HTML的區別?如何轉換
什麼是 xhtml?xhtml 是以 xml 格式編寫的 html。為什麼使用 xhtml?網際網路上的很多頁面包含了 糟糕 的 html。如果在瀏覽器中檢視,下面的 html 執行起來非常正常 即使它並未遵守 html 規則 1 html 2 head 3 title this is bad ht...
構造器(構造方法)
知識點 1.乙個類即使什麼都不寫,他也會存在乙個方法 構造器 構造方法 2.構造方法的名字必須與定義他的類名完全相同,沒有返回型別,甚至連void也沒有。3.構造方法的呼叫是在建立乙個物件時使用new操作進行的。構造方法的作用是初始化物件。4.有參構造 一旦定義了有參構造,無參一定要寫出來!pack...