一)、构造方法:
在之前我们提到对象的概念以及对象的实例化等,在这里简单回顾下:
Man man = new Man();
语句创建一个对象,new可以理解成创建一个对象的关键字,通过new关键字为对象分配内存,初始化实例变量,并调用构造方法。
Man()形式上和调用方法相同,而这个Man()就是一个特殊的方法叫做构造方法;
构造方法在代码中并没有看到这个方法的定义原因是在没有定义构造方法的时候,JAVA会隐式的创建一个无参的默认构造方法
构造方法有以下几个特征:1、具有和类相同的名称;2、不含有返回值;3、不能在方法中使用return返回一个值
在一个类中具有上述特征的方法就是构造方法。
在这里需要特别注意的是,在构造方法里不含返回值的概念不同于void,依然以Man类为例,public Man(){}是构造方法,如果写成public void Man(){};就不是构造方法了。
示例:
/** * 构造方法 **/ public Box(String eat, String sleep, String speak) { this.EAT= eat; this.SLEEP= sleep; this.SPEAK= speak; } /** * 非构造方法 **/ public void Man(){ System.out.println("输出~") ; }
构造方法一共分为两类,一类是当程序没有定义构造方法时,系统自己生成的默认的构造方法,这个默认的构造方法没有参数,方法体中也没有任何代码,即什么也不做,但是会对类成员变量进行默认的初始化。
另一类是程序自己定义的构造方法,可以根据自己的要求对类成员变量进行初始化,也叫做参数化构造方法。需要注意:一旦程序自己定义了构造方法,系统就不会创建默认的构造方法了。
在构造方法中常用到关键字 this ,this 表示的是当前对象,如在同一个类中成员调用类中其他成员;如构造方法使用this关键字为当前成员变量赋值;
this 关键字既可以访问当前对象的数据成员,也可以访问当前对象的成员方法;
二)、对象的生命周期:
类定义之后,只是产生了对事物的描述,并没有生成事物的实例。所以必须对类进行实例化,来生成客观事物的内存映像,这就是对象的创建。对象创建之后必定要显示它的一些特征和表现一些行为,这就是对象的使用。当对象不再使用时(没有任何引用变量指向它时),对象就变成了垃圾,这就是对象的消亡。
当程序的某个部件完成使命后,程序员往往弃之不顾,这是很危险的,这些垃圾会占用系统资源,造成内存泄漏等,所以清理垃圾是必要的。Java垃圾回收的偶然性,如果在一个对象成为垃圾时需要马上释放,可以使用System.gc();来强制启动垃圾回收器回收垃圾。
原文地址:https://www.cnblogs.com/yangfawang/p/10305894.html