麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

一個奇怪的問題

2019-11-18 13:24:59
字體:
來源:轉載
供稿:網友

  朋友, 你對java很熟嗎? 來看看下面這段代碼, 心里運行一次, 看看它的執行結果是什么?
  class Singleton
  {
   PRivate static Singleton obj = new Singleton();
   public static int counter1;
   public static int counter2 = 0;
  
   private Singleton()
   {
   counter1++;
   counter2++;
   }
  
   public static Singleton getInstance()
   {
   return obj;
   }
  }
  
  // 程序2
  public class MyMain
  {
   public static void main(String[] args)
   {
   Singleton obj = Singleton.getInstance();
   System.out.println("obj.counter1=="+obj.counter1);
   System.out.println("obj.counter2=="+obj.counter2);
   }
  }
  想出來結果了嗎? 那你把這段程序編譯運行一下, 看看是不是你想的答案?
  
  原理是這樣的: JAVA在編譯以后, 對靜態變量并不馬上進行賦值操作, 所以, 當你new一個實例的時候, counter1和counter2都被賦值為1(你用單步跟蹤一次就可以知道了), 這時候, 要害的問題在于 private static Singleton obj = new Singleton(); 這條語句是在counter2的賦值之前. 因此, 當生成Singleton類的實例后, 也就是說構造器被執行之后, 才會去執行public static int count2=0, 這時候counter2又被清0了, 所以, 答案就是屏幕上輸出:
  obj.counter1==1
  obj.counter2==0

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品亚洲成a人在线观看 | 成人激情在线观看 | 久久色网站| 一区二区三区手机在线观看 | 黄色大片在线免费看 | 精品久久久久久综合日本 | 91精品观看91久久久久久国产 | 一区二区三区视频在线观看 | 国产91片| 国产一级不卡毛片 | 中国免费一级毛片 | 亚洲日本韩国在线观看 | 色视频91 | 成人免费观看在线视频 | 亚洲免费毛片基地 | 中文字幕在线资源 | 久久艹综合 | 国产精品无码久久久久 | 久久久国产一区二区三区 | 亚洲成人夜色 | 亚洲免费毛片基地 | 色爱99| 黄色一级视频 | 色天使中文字幕 | 毛片在线免费观看完整版 | 鲁久久| 亚洲va久久久噜噜噜久牛牛影视 | 色视频91| 免费在线观看午夜视频 | av在线等| 精精国产xxxx视频在线野外 | 91亚洲精品一区二区福利 | 欧美精品99 | 欧美精品国产综合久久 | 欧美日韩高清一区 | 在线中文字幕不卡 | 激情视频日韩 | 成人三级视频在线观看 | 久久情爱网 | 精品一区二区三区在线观看国产 | 国产91对白叫床清晰播放 |