初始化与清理
用构造器确保初始化
Java中通过提供构造器,类的设计者可以确保每个对象都对得到初始化。创建对象时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应得构造器,从而保证了初始化得进行。
Java中构造器采用与类相同得名称。在创建对象时将会为对象分配存储空间,并调用相应得构造器,确保在操作对象之前,他就已经被恰当地初始化了
无参构造 有参构造
构造器是一种特殊类型得方法,因为他没有返回值。
方法重载
区分重载方法
参数列表不同
设计基本类型得重载
传入得参数类型不同
默认构造器(又称无参构造器)
this关键字
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。this的用法和其他对象并无不同,但是在方法内部调用同一个类的另一个方法,就不必使用this,直接调用即可。
只有在指出当前对象引用时,才需要使用this关键字
static的含义
static方法没有this的方法,在static方法的内部不能调用非静态方法,反过来可以。可以在没有创建任何对象的前提下,仅仅通过类本身调用static方法。
清理:终结处理和垃圾回收
jvm垃圾回收机制只会自动回收new创建的对象所分配的内存。获得内存区域的对象通过finalize()方法回收
finalize()用途
垃圾回收只与内存有关,使用垃圾回收器的唯一原因就是为了回收程序不在使用的内存
终结条件
JVM
成员初始化
所有变量在使用前都能得到恰当的初始化。对于方法的局部变量,Java以编译时错误的形式来贯彻这种保证。
指定初始化
构造器初始化、
初始化顺序
静态数据初始化
静态数据只占用一份存储区域。static关键字不能应用与局部变量,只能作用于域。域是静态的基本类型域,没有对其进行初始化,他会获得基本类型的标准初值;如果是一个对象的引用,它的默认初始值是null;
初始化的顺序是先静态对象,而后是“非静态”对象
显示的静态初始化
Java可以将多个静态初始化动作组织成一个特殊的“静态子句”;(静态块)
非静态实例初始化
数组初始化
数组只是相同类型的,用一个标识符名称封装到一i去的一个对象序列或基本类型数据序列。数通过括号下标操作[ ]来定义和使用
可以直接用new在数组里创建元素。创建的是基本数据类型(不能用new创建单个基本类型数据)
可变参数列表
枚举类型
enum关键字,可以用来处理群组并使用美剧类型集。