構造函數只是起初始化值的作用,但實例化壹個對象的時候,可以通過實例去傳遞參數,從主函數傳遞到其他的函數裏面,這樣就使其他的函數裏面有值了。
析構函數與構造函數的作用相反,用於撤銷對象的壹些特殊任務處理,可以是釋放對象分配的內存空間。
把類的聲明放在main函數之前,它的作用域是全局的。這樣做可以使main函數更簡練壹些。在main函數中定義了兩個對象並且給出了初值,然後輸出兩個學生的數據。
當主函數結束時調用析構函數,輸出stud has been destructe!。值得註意的是,真正實用的析構函數壹般是不含有輸出信息的。
擴展資料:
當定義壹個類的時候,通常情況下都會顯示該類的構造函數,並在函數中指定初始化的工作也可省略,不過Java編譯器會提供壹個默認的構造函數.此默認構造函數是不帶參數的。而壹般的方法不存在這壹特點。
構造函數有回滾的效果,構造函數拋出異常時,構造的是壹個不完整對象,會回滾,將此不完整對象的成員釋放(c++)。
當壹個類只定義了私有的構造函數,將無法通過new關鍵字來創建其對象,當壹個類沒有定義任何構造函數,C#編譯器會為其自動生成壹個默認的無參的構造函數。