建構函式與方法的區別

來源:互聯網
上載者:User
1.在C#中,一些都是對象。你要用一個對象,就必須用new來執行個體化類(static類例外)。當你用new命令時,系統就會自動調用該類的建構函式,做些初始化之類的工作。至於方法,你只能通過手工方式用"object.method()"的方式調用。
 
 
2.類中可以沒有建構函式,因為沒有時,系統會自己幫你產生一個不帶參量的空的建構函式,它什麼事都不會幹,只是因為文法的原因而存在。建構函式是可以重載的(還是過載了,我也記不清這兩個概念)。這方法你只能看書了,java和c#上都有講很多的。
 

  3.堆(stack)和棧(heap)是儲存臨時資料的地方,就是我們說的緩衝吧。對象的字柄是存在heap中的,基本類型(如int,char等)是存在stack中的。stack的速度比heap快。這方面的資料在《thinking
  in   java》和《C#技術內幕(影印版)》中都有說明,《thinking   in   java》中講得很詳細易懂。

提問:建構函式與方法有何區別?建構函式就是構造方法,有的地方也叫做構造器。 建構函式名與類名相同,方法是自訂的。*構造方法是一種特殊的方法,作用是初始化成員變數。public class Test{   static int i;//定義一個成員變數   public Test(){     i = 10;   }//本句為建構函式,(test和類名相同)作用是初始化成員變數,也可不寫,系統將預設一個空的建構函式,如 public Test(){}   void plus(int x,int y){     System.out.println(x+y);   }//定義一個plus方法,意思是傳入的數值為int型,傳入的個數為2個,傳入之後將兩個數字相加並列印出。 public static void main(String[] args){   Test t = new Test();//執行個體化一個對象,   t.plus(1,3);//通過t來調用plus(成員)方法。 System.out.println(i);//列印出i值 } }

 

 

下面是我師父寫的:

建構函式就是一類特殊的方法。 
他不同於其他方法的地方 
一、建立對象時構造函數自動運行,而一般方法必須有調用語句調用才能執行 
二、構造函數與類名必須相同(含大小寫) 
三、構造函數不能有返回實值型別 
例如 
class A 

   public A(){ }//構造函數名與類名相同,沒有傳回值類型 
 public string B(){ ...;return "str";}//普通方法要有傳回值類型,如無返回值必須寫void 
 

A aa=new A();//建立對象aa的時候會自動運行類a的構造函數A() 
aa.B();//普通方法B只能遇到調用他的語句才會被執行

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.