Java编程思想

Java编程思想——第五章:初始化与清理

2019-05-31  本文已影响0人  代夫阿普曼

Java采用构造器,创建对象时自动调用。对于不再使用的内存资源,使用垃圾回收器自动将其释放

1.用构造器确保初始化

2.方法重载

为了让方法名相同而形式参数不同的构造器存在,必须用到方法重载

2.1 区分方法重载
2.2 涉及基本类型的重载
2.3 以返回值区分重载方法

3.默认构造器

4.this关键字

this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。

class Banana{
    void peel(int i){}
}

public class BananaPeel{
    public static void main(String[] args){
        Banana a = new Banana();
        a.peel();
    }
}
/**
 * 上述的Banana对象在调用peel方法时,实际上有一个参数this
 * a.peel(this);
 */
4.1 构造器中调用构造器
4.2 static的含义

5.清理:终结处理和垃圾回收

假定你的对象(并非使用new)获得一块特殊的内存区域,由于垃圾回收器只知道释放那些经有new分配的内存,所以它不知道该如何释放该对象的这块特殊的内存。为了应对这种情况,Java允许在类中定义一个名为finalize()的方法。

它的工作原理假定是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

只要程序没有濒临存储空间用完的那一刻,对象占用的空间就总也得不到释放。如果程序执行结束,并且垃圾回收器一直没有释放你创建的任何对象的存储空间,则随着程序退出,那些资源也会全部交换给操作系统

5.1 finalize()的用途何在
5.2 你必须实施清理
5.3 终结条件
5.4 垃圾回收器如何工作

6.成员初始化

7.构造器初始化

在运行时刻,可以调用方法或执行某些动作来确定初值。但要牢记:无法阻止自动初始化的进行,它将在构造器被调用之前发生。

7.1 初始化顺序
7.2 静态数据的初始化
7.3 显式地静态初始化
7.4 非静态示例初始化

8.数组初始化

9.枚举类型


31/05/2019  :created
01/06/2019  :add 6,7,8,9
上一篇 下一篇

猜你喜欢

热点阅读