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][][];
网友评论