最近老加班,没时间再读,拖了好长时间才写了这些。
初始化与清理
1. 用构造器确保初始化:
1) 在创建对象时就会为对象分配存储空间,并调用相应的构造器。这就保证了在你能操作对象之前,它已经恰当地初始化了。注意:由于构造器的名称必须与类名完全相同,所以“每个方法首字母小写”的编码风格并不适用于构造方法。
2) 构造器没有返回值,这与返回值为void的类型也不同,void尽管不返回什么,但仍可以选择让它返回别的东西。构造器则不会返回任何东西。New表达式返回新建对象的引用,但构造器并没有返回任何值。
2. 方法重载:
1) 当创建一个对象的时候,就给这个对象分配到的空间起了一个名字,也就是说对象的名字就是对象实体的“门牌号”。所谓方法则是给某个动作取的名字。
2) 重载的方法就是方法名称相同,方法参数列表不同的几个方法。区分重载方法的标准就是重载的方法要有一个独一无二的参数列表。参数类型,个数,顺序不同都可以区分不同的重载方法,但尽量不要用顺序不同的参数列表来区分重载方法。
3.This关键字:
1) 在代码编译的时候编译器做了一些幕后工作,它暗自把“每个方法所操作的对象引用”作为第一个参数传递给各个方法。
2) 如果想在方法内部获得当前对象的引用,那么就可以用关键字this。This关键字只能在方法内部使用,表示“调用当前方法的那个对象”的引用。如果在方法内部调用用一个类的另一个方法,则没有必要使用this,直接通过方法名调用即可。
4.Static关键字:
1) Static修饰的方法或变量可以在没有生命对象的前提下使用,也就是说不需要先实例化一个对象,然后再通过对象调用static方法,直接通过类名称就可以调用static修饰的方法,这也是static方法的主要用途。
2) Static方法内部不能调用非静态方法或属性,反过来则可以。
5.清理:终结处理和垃圾回收
1) Java有垃圾回收器负责回收无用对象占据的内存资源,但是它只知道释放那些经由new分配的空间。
2) 在C++中对象一定会被销毁(通过析构函数),而在Java中,对象却并非总是被垃圾回收。
3) 垃圾回收只与内存有关,也就是说,使用垃圾回收器的唯一原因是为了回收程序不再使用内存。
4) Java尽力保证所有变量(这里主要是指基本数据类型成员)在使用前都能得到恰当的初始化。对于全局变量(类变量)即便是没有明确赋值,编译器也会默认为这些变量设置默认值。而对于方法内部的局部变量则是必须要自己进行初始化的,否则Java编译器会报错。
5) 对于对象,如果来类里定义了一个对象引用,如果不将其初始化,此引用就会获得一个特殊值null。
6.构造器初始化:
1) 在类内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,他们仍旧会在任何方法(包括构造器)被调用之前得到初始化。
2) 无论创建多少个对象,静态数据都只占用一份存储区域。Static关键字不能应用于局部变量,因此它只能作用于域。
7.数组初始化:
1) 数组知识相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。
2) Java数组计数从0开始,可以使用的最大下标数十length-1。
3) Java数组有两种声明方式:string[]str;或者string str[];如果用直接赋值的方式(大括号赋值)则必须在声明数组的时候就在等号后面跟大括号对数组进行初始化。数组的创建是在运行时刻进行的。
4) 不能用new创建基本数据类型数据。
本文探讨了在加班环境下如何高效地初始化和清理对象,包括构造器的使用、方法重载、This关键字、Static关键字以及对象清理策略。重点介绍了Java中对象初始化与清理的关键概念及实践方法。
1189

被折叠的 条评论
为什么被折叠?



