面朝大海,春暖花开

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  12 Posts :: 1 Stories :: 3 Comments :: 0 Trackbacks

本文是《 JAVA 编程思想》第四章的读书笔记

 

一、 用构造函数初始化

1.1、   函数的签名和返回值

构造函数可以通过不同的函数签名来进行重载。构造函数没有返回值,这和返回值为 void 的是不同的

1.2、   构造函数的重载

如何区分构造函数的不同呢,用不同的函数签名。函数签名的顺序不同都可以,但是这样的编程风格是不好的。

函数的签名会上升转型(当没有合适的函数签名出现的时候),但是不会窄化转型,你必须要显示的进行强制类型转换。

不能以 return value 的不同作为重载的标准。

当程序提供了构造函数以后,系统就不在提供默认的构造函数了。

This 关键字指的是当前对象,有了 this 后,可以在构造函数中以如下的方式调用

Class A  {
    A () 
{…}
    A(
int  a, char  b)  {… }
    A(
int  a, char  b, float  c)  {
        This(a,b); 
// 注意:只能调用一次
    }

}

1.3、   Static 的含义

你无法在 static 函数中调用 non-static 函数,但是你可以在 non-static 中调用 static 函数。

二、 类的清理

JAVA 的垃圾回收机制只能回收 new 出来的对象,但是你的对象不是 new 出来的而获得的“特殊”内存,那么 JAVA 的垃圾回收就不能处理,这样就必须用 finalize() 函数来释放你的“特殊”内存。

JAVA 的清理方式是先调用你的 finalize() ,然后在下次垃圾回收的时候来清理你的“特殊”内存。

关键的三句话:

垃圾回收不等于析构;

你的对象可能不被回收;

垃圾回收动作只回收内存。

System.gc() 可以用来强迫终结动作的发生

posted on 2006-04-09 16:17 面朝大海 阅读(270) 评论(0)  编辑  收藏 所属分类: J2SE

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


网站导航: