自写自看

读书笔记

1.父类的静态方法和最终方法不能被覆盖。
2.用静态方法覆盖实例方法是通不过编译的
3.String 的intern函数是将该String放入JVM的常量池中,避免出现String类型的多处应用。
  例如 b=a.intern();
       a==b 等于TRUE
4.访问被覆盖的方法,只能用super
5.只能通过传递数组来达到,基本数据类型数据引用的效果。
6.注意clone的深度,当要克隆一个对象时,若该对象的内部有对象,则需要将内部对象也clone,也就是主要写clone对象。
 
 
7.若以对象作为hashmap的索引值,需要重写该对象的equal,和hashcode函数。       

8.异常,如果对try{}catch(exception o){}的所有catch情况都考虑到了的话,调用者就不需要添加catch或throw exception啦

9.文件流: 分为字节流( 带Input)和字符流(带reader)
              例如FileInputStream    例如FileReader
           字符流不依赖於编码,全部采用unicode编码
           如果需要支持国际化的话就需要采用直接流啦 。
           示例:  FileInputStream is=new FileInputStream(f);
                   InputStreamReader r=new InputSteamReader(is,"utf-8");

  另外可以使用System.getProperty("file.endcoding")来获得系统的默认编码
10,数组和矢量Vector比较  遍历Vector比较慢,因为Vector是线程安全的,获取值时采用了同步化,解决方法在遍历是toArray()
    例外ArrayList具有vector的动态增加长度的特点,但ArrayList是非同步的矢量。
11.在循环体内链接字符串,使用StringBuffer效率更高;其他情况下使用+。

posted on 2008-03-03 21:32 昨夜人生 阅读(245) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航: