代碼要規範,看一個for的例子

在書寫代碼的時候,一定要規範自己的代碼,如果不規範代碼,那麼有的時候,可能會給你帶來不大不小的麻煩,下面有一個小小的例子

public class TestPrintStream1 {
 
public static void main(String[] args) {
    Class c
= TestPrintStream1.class;
   
try {
      Object o
= c.newInstance();
     
if (o instanceof TestPrintStream1)
        TestPrintStream1 tt
= (TestPrintStream1) o;// 這裏爲什麼會報錯呢,說tt 和 TestPrintStream1不能解析
    }
catch (InstantiationException e) {
      e.printStackTrace();
    }
catch (IllegalAccessException e) {
     
// TODO Auto-generated catch block
      e.printStackTrace();
    }

  }

}

這個例子寫完後,你會發現,編譯器並不讓你通過,爲什麼呢,語法沒有問題啊,奇怪吧
可是在仔細看看,你會發現對於if()這個語句,我們是這樣來定義的
if ( a.equals(b)) {
  System.out.println(
"haha");
}

是不是在例子的代碼後面沒有加入{}
這個涉及到了一個問題:我們知道,在if後面如果只有一個語句,那麼我們會習慣的忽略{},可是在JAVA解析的時候
TestPrintStream1 tt = (TestPrintStream1) o;這個語句會被解析成
TestPrintStream1 tt; tt = new TestPrintStream1 (); 這樣,在if{}這個模塊中,只執行TestPrintStream1 tt;這個語句而不會執行
tt = new TestPrintStream1 (); ,解析tt = new TestPrintStream1 (); 的時候,就會找不到tt的定義了,因爲TestPrintStream1 tt;的作用域已經結束了
所以,在平時,一定要養成良好的代碼書寫規範,不僅僅會規約我們的書寫習慣,還會減少一些看起來很奇怪的問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章