程式設計中建構函式與方法的區別
計算機程式設計有很多專業的術語,如建構函式,有人會說建構函式不是程式設計方法嗎?其實這兩者還是有些區別的,下面小編告訴你。
建構函式與方法的區別
1.在C#中,一些都是物件。你要用一個物件,就必須用new來例項化類***static類例外***。當你用new命令時,系統就會自動呼叫該類的建構函式,做些初始化之類的工作。至於方法,你只能通過手工方式用"object.method******"的方式呼叫。
2.類中可以沒有建構函式,因為沒有時,系統會自己幫你生成一個不帶參量的空的建構函式,它什麼事都不會幹,只是因為語法的原因而存在。建構函式是可以過載的***還是過載了,我也記不清這兩個概念***。這方法你只能看書了,java和c#上都有講很多的。
3.堆***stack***和棧***heap***是儲存臨時資料的地方,就是我們說的快取吧。物件的字柄是存在heap中的,基本型別***如int,char等***是存在stack中的。stack的速度比heap快。
4.建構函式就是構造方法,有的地方也叫做構造器。建構函式名與類名相同,方法是自定義的。構造方法是一種特殊的方法,作用是初始化成員變數。
5.建構函式就是一類特殊的方法。 他不同於其他方法的地方
一、建立物件時建構函式自動執行,而一般方法必須有呼叫語句呼叫才能執行
二、建構函式與類名必須相同***含大小寫***
三、建構函式不能有返回值型別
例如
class A
{
public A******{ }//建構函式名與類名相同,沒有返回值型別
public string B******{ ...;return "str";}
//普通方法要有返回值型別,如無返回值必須寫void
}
A aa=new A******;
//建立物件aa的時候會自動執行類a的建構函式A******
aa.B******;
//普通方法B只能遇到呼叫他的語句才會被執行
小編推薦:JAVA建構函式例子
public class UserManagerImpl implements UserManager {
private UserDao userDao;
public UserManagerImpl***UserDao userDao***{
this.userDao=userDao;
}
public void save***String username,String password***{
this.userDao.save***username, password***;
}
}