zhangsenwei

          張森煒的博客

          聯系 管理
            19 Posts :: 8 Stories :: 55 Comments :: 0 Trackbacks

          今天公司,有同事再問為什么類的構造器寫成私有不報錯?類構造器寫成了私有我們就沒有辦法創建這個類的對象了。例如:

           

          public class Test {
                
          //注意這里的構造器是私有的
              private Test() {
                  System.out.println(
          "我在構造器中。。。。");

              }


              
          public void bb()
              
          {
                  System.out.println(
          "我在bb方法中。。。。");
              }

          }

          當我們創建通過代碼 Test test  = new Test();  來創建Test類的對象時就會報錯,編輯器讓我們創建。

          其實當我們把構造器進行私有化后,主要的目的是不讓開發者隨隨便便創建對象,在java中只有我們要求這個程序中某種類型,只有一個對象存在時會將構造器私有化,也稱之為單態模式或單例模式。例:

          public class A {
              
          private static A a =null;
              
          private A() {
                  System.out.println(
          "我在構造器中。。。。");
              }


              
          public static A aa() {
                  
          /*
                      先判斷 a 對象是否已經開辟了內存,如果對象已
                      經存在就不再創建對象保證程序中只有一個實例
                      
          */

                  
          if(a==null){
                  
          //如果 a 對象沒有開辟內存,為他開辟一塊新的
                   a = new A();
                  }

                  
          //返回 a 對象
                  return a;
              }


              
          public void bb() {
                  System.out.println(
          "我在bb方法中。。。。");
              }

          }
          posted on 2008-06-19 16:58 張森煒 閱讀(1253) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宝山区| 兰西县| 重庆市| 绥化市| 固原市| 闻喜县| 紫金县| 仙居县| 信宜市| 凤城市| 苏尼特左旗| 萨嘎县| 镇原县| 唐海县| 漠河县| 凤城市| 家居| 桦甸市| 晋中市| 克拉玛依市| 玛纳斯县| 松江区| 东乡族自治县| 宿迁市| 吴堡县| 信阳市| 兴城市| 措勤县| 柘荣县| 富平县| 平阴县| 罗平县| 抚远县| 湖口县| 芒康县| 鄯善县| 北川| 睢宁县| 淄博市| 钦州市| 江口县|