美文网首页
第四章 初始化和清除 2018-10-09

第四章 初始化和清除 2018-10-09

作者: 哈222 | 来源:发表于2018-10-10 15:55 被阅读0次

    1.构造器

    1.1 编译程序会帮我们自动创建一个默认构造器

    1.2若定义带参数构造器,则该方法为唯一的构造器,编译程序不会自动合成默认构造器

    1.3属于特殊的方法类型,与类名相同,没有返回值

    2.方法过载:方法名相同,采用独一无二的自变量类型列表

    3.this 只能在方法内部使用:

    3.1 可为已调用了其方法的那个对象生成相应的句柄

    3.2 在构造器中调用构造器,不可调用两个

    3.3 static方法没有this

    4.垃圾回收机制 **:还未看懂

    可调用finalize()方法,但不是回收,只是放到了垃圾待回收区域

    5.初始化

    5.1 句柄初始化---》构造器

    5.2静态对象(仅执行一次)---》句柄初始化---》构造器

    (1) 类型为 Dog的一个对象首次创建时,或者Dog 类的static方法/static 字段首次访问时,Java 解释器必须找到Dog.class(在事先设好的类路径里搜索)。

    (2) 找到Dog.class 后(它会创建一个 Class对象,这将在后面学到),它的所有 static初始化模块都会运行。因此,static初始化仅发生一次——在 Class 对象首次载入的时候。

    (3) 创建一个new Dog()时,Dog 对象的构建进程首先会在内存堆(Heap)里为一个 Dog对象分配足够多的存储空间。

    (4) 这种存储空间会清为零,将Dog中的所有基本类型设为它们的默认值(零用于数字,以及 boolean和char 的等价设定)。

    (5) 进行字段定义时发生的所有初始化都会执行。

    (6) 执行构建器。正如第6 章将要讲到的那样,这实际可能要求进行相当多的操作,特别是在涉及继承的时候。

    5.3static代码块:代码仅执行一次,首次生成类对象或者首次访问属于那个类的一个 static 成员时

    5.4数组初始化:int [] al

    Object[] obj = new Object[]();——这个数组就可以存放任意类型的数据

    5.5多维数组

    int[][] a1 = {{ 1, 2, 3, },{ 4, 5, 6, },};

    int[][][] a3 = new int[7][][];

    相关文章

      网友评论

          本文标题:第四章 初始化和清除 2018-10-09

          本文链接:https://www.haomeiwen.com/subject/razeaftx.html