国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>知識大全>知識百科>公共基礎(chǔ)知識>

    編程中構(gòu)造函數(shù)與方法的區(qū)別

    時間: 映芳735 分享

      計算機(jī)編程有很多專業(yè)的術(shù)語,如構(gòu)造函數(shù),有人會說構(gòu)造函數(shù)不是編程方法嗎?其實(shí)這兩者還是有些區(qū)別的,下面小編告訴你。

      構(gòu)造函數(shù)與方法的區(qū)別

      1.在C#中,一些都是對象。你要用一個對象,就必須用new來實(shí)例化類(static類例外)。當(dāng)你用new命令時,系統(tǒng)就會自動調(diào)用該類的構(gòu)造函數(shù),做些初始化之類的工作。至于方法,你只能通過手工方式用"object.method()"的方式調(diào)用。

      2.類中可以沒有構(gòu)造函數(shù),因?yàn)闆]有時,系統(tǒng)會自己幫你生成一個不帶參量的空的構(gòu)造函數(shù),它什么事都不會干,只是因?yàn)檎Z法的原因而存在。構(gòu)造函數(shù)是可以重載的(還是過載了,我也記不清這兩個概念)。這方法你只能看書了,java和c#上都有講很多的。

      3.堆(stack)和棧(heap)是存儲臨時數(shù)據(jù)的地方,就是我們說的緩存吧。對象的字柄是存在heap中的,基本類型(如int,char等)是存在stack中的。stack的速度比heap快。

      4.構(gòu)造函數(shù)就是構(gòu)造方法,有的地方也叫做構(gòu)造器。構(gòu)造函數(shù)名與類名相同,方法是自定義的。構(gòu)造方法是一種特殊的方法,作用是初始化成員變量。

      5.構(gòu)造函數(shù)就是一類特殊的方法。 他不同于其他方法的地方

      一、創(chuàng)建對象時構(gòu)造函數(shù)自動運(yùn)行,而一般方法必須有調(diào)用語句調(diào)用才能執(zhí)行

      二、構(gòu)造函數(shù)與類名必須相同(含大小寫)

      三、構(gòu)造函數(shù)不能有返回值類型

      例如

      class A

      {

      public A(){ }//構(gòu)造函數(shù)名與類名相同,沒有返回值類型

      public string B(){ ...;return "str";}

      //普通方法要有返回值類型,如無返回值必須寫void

      }

      A aa=new A();

      //創(chuàng)建對象aa的時候會自動運(yùn)行類a的構(gòu)造函數(shù)A()

      aa.B();

      //普通方法B只能遇到調(diào)用他的語句才會被執(zhí)行

      小編推薦:JAVA構(gòu)造函數(shù)例子

      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);

      }

      }

    533985