【积累】代码要规范,看一个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;的作用域已经结束了
所以,在平时,一定要养成良好的代码书写规范,不仅仅会规约我们的书写习惯,还会减少一些看起来很奇怪的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值