亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

JAVA規則 基本篇

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

  本文介紹的java規則的說明分為5個級別,級別1是最基本也是最重要的級別,在今后將陸續寫出其他的規則。遵守了這些規則可以提高程序的效率、使代碼有更好的可讀性等。
  
 ?。?) 避免使用NEW要害字來創建String對象。
  把一個String常量copy到String 對象中通常是多余、浪費時間的
  Public class test{
  Public void method(){
  System.out.PRint (str);
  }
  private String str = new String ("1"); //這里新建對象是完全沒有必要的
  private String str2=”2” //正確的應該如此
  }
  參考:Joshua Bloch: "Effective Java - Programming Language Guide"
  
 ?。?) 避免使用不必要的嵌套。
  過多的嵌套會使你的代碼復雜化,減弱可讀性。
  Public class test {
  String add (){
  Int c=(a=a+b)+b; //過于復雜
  Return c
  }
  
  }
  
  參考:http://java.sun.com/docs/codeconv/Html/CodeConventions.doc9.html#177
  
 ?。?) 避免在同一行聲明不同類型的多個變量
  這樣可以使程序更加清楚,避免混亂
  private int index, index1[];
  正確的應該如此:
  private int index;
  private int index1[];
  
  參考:http://java.sun.com/docs/codeconv/html/CodeConventions.doc5.html#2992
  
  (4) 在每一行里寫一條語句
  這條規則不包括for語句:比如:'for (int i = 0; i < 10; i++) x--;’可以增加代碼的可讀性。
  public class OSPL {
  int method (int a, int b) {
  int i = a + b; return i; // 可讀性不強
  }
  正確的:
  public class OSPLFixed {
  int method (int a, int b) {
  int i = a + b;
  return i;
  }
  }
  參考:Section 7.1 of http://java.sun.com/docs/codeconv/html/CodeConventions.doc6.html#431
  
 ?。?)經常從finalize ()中調用super.finalize ()
  這里的finalize ()是java在進行垃圾收集的時候調用的,和finally不一樣。假如你的父類沒有定義finally()的話,你也應該調用。這里有兩個原因:(1)在不改變代碼的情況下能夠將父類的finally方法加到你的類中。 (2)以后你會養成習慣調用父類的finally方法,即使父類沒有定義finally方法的時候。
  正確的方法應該如此:
  public class parentFinalize {
  protected void finalize () throws Throwable {
  super.finalize(); // FIXED
  }
  
  參考:"The Java Programming Language" by Ken Arnold and James Gosling, page 49.
  
 ?。?) 不要在finalize ()中注銷listeners
  不要再finalize ()方法中中注銷listeners,finalize ()只有再沒有對象引用的時候調用,假如listeners從finalize()方法中去除了,被finalize的對象將不會在垃圾收集中去除。
  public void finalize () throws Throwable {
  bButton.removeActionListener (act);
  }
  
  (7) 不要顯式的調用finalize ()方法
  雖然顯式的調用這個方法可以使你確保你的調用,但是當這個方法收集了以后垃圾收集會再收集一次。
  
   public class T7 {
    public void finalize() throws Throwable {
      close_resources ();
      super.finalize ();  }
    public void close_resources()
   {}
  }
  class Test {
    void cleanup () throws Throwable {
      t71.finalize(); // 調用
      t71 = null;  }
    private t71 = new T7 ();
  }
  
  對于這樣的調用我們應該自己創建一個釋放的方法,做最初finalize ()所作的事情,當你每次想顯式的調用finalize ()的時候實際上調用了釋放方法。然后再使用一個判定字段來確保這個方法只執行一次,以后再調用就沒關系了。
  
  public class T7 {
    public synchronized void release () throws Throwable{
      if (!_released) {
        close_resources ();
   // do what the old 'finalize ()' did
        _released = true;
      }
    }
    public void finalize ()
   throws Throwable {
      release ();
      super.finalize ();
    }
    public void close_resources()
   {}
    private boolean _released = false;}class TestFixed {
    void closeTest () throws Throwable {
      t71 .release (); // FIXED
      t71 = null;
    }
    private T7 t71 = new T7 ();}
  
  
  參考:Nigel Warren, Philip Bishop: "Java in Practice - Design Styles and Idioms
  for Effective Java". Addison-Wesley, 1999. pp.110-111
  
  
  (8)不要使用不推薦的API
  盡量使用JDK1.3推薦的API。在類和方法或者java組件里有很多方法是陳舊的或者是可以選擇的。有一些方法SUN用了"deprecated“標記。最好不要使用例如:
  private List t_list = new List ();
  t_list.addItem (str);
  假如查一下javadoc的話,會發現建議用add()來代替addItem()。
  參考:http://java.sun.com/j2se/1.3/docs/api/index.html
  
 ?。?)為所有序列化的類創建一個'serialVersionUID'
  可以避免從你各種不同的類破壞序列的兼容性。假如你不非凡制訂一個UID的話,那么系統為自動產生一個UID(根據類的內容)。假如UID在你新版本的類中改變了,即使那個被序列化的類沒改變,你也不能反序列化老的版本了。
  
  public class DUID implements java.io.Serializable {   public void method () {}}
  在里面加一個UID,當這個類的序列化形式改變的時候,你也改變這個UID就可以了。
  
  public class DUIDFixed implements java.io.Serializable {
    public void method ()
   {}
    private static final long serialVersionUID = 1; }
  
  參考:Joshua Bloch: "Effective Java - Programming Language Guide"
  Addison Wesley, 2001, pp. 223
  
 ?。?0)對于private常量的定義
  比較好的做法是對于這樣的常量,加上final標記,這樣的常量從初始化到最后結束值都不會改變。
  private int size = 5;
  改變后的做法是:
  private final int size = 5;
  
  (11)避免把方法本地變量和參數定義成和類變量相同的名字。
  這樣輕易引起混擾,建議把任何的變量字都定義成唯一的。這樣看來,SCJP里的那些題目在現實中就用不到了:)
  
  public void method (int j) {  final int i = 5; // VIOLATION  }  private int j = 2;
  
  建議:
  
  public void method (int j1) {  final int i = 5; // VIOLATION  }  private int j = 2;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本电影亚洲天堂| 日韩精品在线视频观看| 91久久精品日日躁夜夜躁国产| 97色在线播放视频| 色婷婷**av毛片一区| 亚洲图片欧洲图片av| 91九色视频在线| 中文国产成人精品久久一| 欧美极品少妇与黑人| 国产精品日韩欧美大师| 国产精品老女人视频| 国产精品视频区| 国产精品h在线观看| 亚洲精品视频在线播放| 精品久久久久久久久久ntr影视| 91久久精品国产| 久久好看免费视频| 日韩av电影在线免费播放| 成人黄色午夜影院| 欧美日韩亚洲天堂| 91久久精品美女高潮| 91久久精品美女高潮| 欧美大秀在线观看| 一区二区在线视频| 成人午夜黄色影院| 亚洲国产成人久久| 国产精品444| 国产色视频一区| 午夜精品福利在线观看| 欧美黄色片在线观看| 麻豆一区二区在线观看| 久久久久久欧美| 亚洲片国产一区一级在线观看| 久久久免费精品视频| 成人欧美一区二区三区黑人| 国产日韩欧美在线看| 成人午夜黄色影院| 一区二区在线视频播放| 久久成人18免费网站| 精品一区电影国产| 国产91成人在在线播放| 国产精品一区二区久久久久| 91精品视频在线看| 国产999在线| 国产激情综合五月久久| 92看片淫黄大片看国产片| 久久精品国产91精品亚洲| 国产精品视频自拍| 国产精品视频免费在线| 国内精品一区二区三区四区| 中文字幕国内精品| 国产一区二区三区在线观看视频| 日本高清视频一区| 欧日韩不卡在线视频| 91福利视频网| 中文字幕日韩高清| 国产精品久久97| 国产精品免费看久久久香蕉| 91在线视频成人| 色一区av在线| 亚洲天堂av在线播放| 538国产精品视频一区二区| 国产丝袜高跟一区| 欧美肥老妇视频| 欧美一级黄色网| 精品久久久久久中文字幕| 在线午夜精品自拍| 久久人人爽人人爽人人片av高请| 68精品国产免费久久久久久婷婷| 国产丝袜一区视频在线观看| 亚洲视频专区在线| 日韩欧美中文字幕在线播放| 国产精品jvid在线观看蜜臀| 国产精品女人久久久久久| 日韩电影中文 亚洲精品乱码| 日韩午夜在线视频| 成人性生交大片免费观看嘿嘿视频| 日韩av手机在线看| 国产精品va在线播放| 欧美黑人巨大精品一区二区| 国产精品欧美在线| 欧美性猛交xxxx免费看久久久| 亚洲最大激情中文字幕| 国产精品久久久久久久久| 日韩精品999| 欧美一级淫片播放口| 久久全球大尺度高清视频| 欧美日韩免费在线观看| 浅井舞香一区二区| 精品无人区太爽高潮在线播放| 精品电影在线观看| 啪一啪鲁一鲁2019在线视频| 国产一区二区三区在线播放免费观看| www.久久撸.com| 91免费版网站入口| 国产欧美日韩免费看aⅴ视频| 91在线免费看网站| 色琪琪综合男人的天堂aⅴ视频| 日本精品视频在线播放| 久久成人人人人精品欧| 久久国产精品电影| 国产精品18久久久久久首页狼| 日韩av在线免费观看| 国产精品高潮呻吟久久av黑人| 亚洲电影在线观看| 在线观看视频亚洲| 亚洲欧美激情在线视频| 538国产精品一区二区免费视频| 亚洲精品理论电影| 亚洲男人天堂2023| 91福利视频在线观看| 亚洲福利小视频| 2019中文字幕在线| 亚洲免费视频观看| 亚洲一区二区三区乱码aⅴ| 奇米4444一区二区三区| 国产日产欧美a一级在线| 国产精品久久久久久影视| 欧美激情精品久久久久久变态| 久久男人的天堂| 性欧美在线看片a免费观看| 色噜噜国产精品视频一区二区| 国产精品第三页| 岛国精品视频在线播放| 国产在线不卡精品| 色偷偷88888欧美精品久久久| 欧美孕妇与黑人孕交| 亚洲娇小xxxx欧美娇小| 欧美一级在线亚洲天堂| 97热在线精品视频在线观看| 92版电视剧仙鹤神针在线观看| 国产成人亚洲综合青青| 九九热这里只有精品免费看| 日韩av电影中文字幕| 欧美贵妇videos办公室| 成人免费在线视频网站| 日本高清不卡在线| 岛国av一区二区| 日韩av黄色在线观看| 欧美亚洲视频在线看网址| 欧美成人精品影院| 欧美极品美女视频网站在线观看免费| 国产精品久久久久久亚洲影视| 成人福利网站在线观看11| 岛国av一区二区三区| 亚洲天堂第一页| 亚洲成人免费在线视频| 日韩精品在线视频| 福利视频第一区| 欧美激情影音先锋| 国产精品高清免费在线观看| 精品久久久久久久久久久久久久| 日本免费久久高清视频| 国产精品亚洲精品| 狠狠躁夜夜躁人人爽天天天天97| 一本一本久久a久久精品牛牛影视| 欧美高跟鞋交xxxxxhd| 日韩av电影在线免费播放| 日韩色av导航| 久久视频在线直播| 国产精品精品久久久久久| 国产精品视频专区| 欧美精品videosex性欧美| 亚洲天堂av图片|