05-初始化域清理

初始化与清理

用构造器确保初始化

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关键字,可以用来处理群组并使用美剧类型集。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。