Life at Shanghai

Smile All Day Long

博客园 首页 新随笔 联系 订阅 管理

决定开始用中文写些blog了。原因么,说来话长,所以不提了。

最近突然又燃起了啃厚书的激情,所以乘着这股劲再次开始啃《Thinking in Java》。同时决定做些笔记,加深印象。这里是第一篇。

2: Everything is an Object

Scoping

 

{
  int x = 12;
  {
    int x = 96; // Illegal
  }
}

注意,在C++中这段代码是合法的,而JAVA则不允许。C++中合法的原理是,在C++中内部生存空间中的变量可以把加大生存空间的同名变量遮蔽(Hide)起来。而JAVA的设计者认为这么做容易导致理解程序的误解和混淆,所以在JAVA中同一个生存空间(Scoping)中变量的名称必须唯一。

恩,当然现在有了各种便利的IDE,一般会迅速得到这个编译错误的反馈。不过,如果一开始就不错不是更好么。

 

Embedded HTML

不知道是我当初读《Java in Nutshell》不仔细,还是健忘的毛病又犯了。我竟然完全忘了javadoc里可以内嵌HTML.....||-_-b

我可以这样:

/**
 * 
<pre>
 * System.out.println("Hello World");
 * 
</pre>
 * @param args
 */


如此的主要目的为了利用HTML标签对程序代码进行编排。当然还可以对于javadoc中的文本加以美化:

/**
 * 
 * @author Sinbadblue Kong
 * You can 
<em>even</em> insert a list:
 * 
<ol>
 * 
<li> Item one
 * 
<li> Item two
 * 
<li> Item three
 * 
</ol>
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */



特别注意,不要在内嵌的HTML中使用诸如 h1hr 之类的标题标签(headings),因为会与javadoc在生成html文档时自动插入的标题标签互相干扰。

BTW: 发现手头中文《Thinking in Java》还是第2版的,所以在阅读的时候我不时还要在机器前对照这个:

Thinking in Java, 3rd Edition Revision 4.0 - November 20, 2002: Final Version to Printer

这个是Bruce Eckel提供的html+source的版本,而我实际察看的是一个更方便的chm版本。因为Bruce写第2版的时候,JDK才发布到1.3 而他测试用的环境LINUX下正式发行的版本知道JDK1.2.2。不难想象目前最为稳定的JDK1.4.2 与我手上的中文版的内容定然有不少差异......

 

这个是Bruce Eckel提供的html+source的版本,而我实际察看的是一个更方便的chm版本。因为Bruce写第2版的时候,JDK才发布到1.3 而他测试用的环境LINUX下正式发行的版本知道JDK1.2.2。不难想象目前最为稳定的JDK1.4.2 与我手上的中文版的内容定然有不少差异......

 

posted on 2004-11-25 17:21  Sinbadblue's Blog  阅读(404)  评论(0)    收藏  举报