一、数组初始化 数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。编译器是不允许指定数组的长度的,当使用语句int[] a时,拥有的只是一个符号名,即一个数组的引用,并不拥有这个数组的存储空间。要获取数组的存储空间,必须要写初始化表达式,最朴素的表达式类型如下 1 int ...
分类:
编程语言 时间:
2017-08-14 20:10:35
阅读次数:
211
一、构造器初始化的基本顺序 在使用构造器进行初始化时,最需要注意的是初始化的顺序,这种方法可以给初始化的顺序带来很大的灵活性。看如下的一个例子。 从输出中我们可以看出来,初始化的顺序有两点最基本的需要注意: (1)成员初始化是默认第一个进行的,由编译器控制执行,发生在调用这个类构造器之前,不能阻止其 ...
分类:
其他好文 时间:
2017-08-14 18:02:25
阅读次数:
143
在java中,成员初始化在使用之前应该都要保证已经完成初始化。对于在方法体中的局部变量,如果没有使用指定初始化的方法对成员变量进行初始化,编译器会提示一个错误。而对于类的数据成员,编译器会对这些成员赋予默认的初始值,下面这段代码反映了这一点。 输出表明,即使类中的成员变量没有进行指定初始化,编译器仍 ...
分类:
其他好文 时间:
2017-07-29 13:02:55
阅读次数:
177
Java编程思想第4版学习笔记(三) 第五章 初始化与清理(构造器和垃圾回收机制) Java有和C++类似的构造函数来为新创建的对象执行初始化及完成一些特殊的操作,有的类数据成员可能会被初始化几次,它们的初始化次序和次数是根据程序决定的,可以用重载的构造函数以不同的形式对一个对象初始化,重载的构造函 ...
分类:
编程语言 时间:
2017-07-24 14:38:24
阅读次数:
197
this关键字是Java中一类很特殊的关键字,首先它只能在方法内使用,用来表示调用这个方法的对象,在这一点上this和其他对对象的引用的操作是相同的。我们之所以可以在方法内部访问到它是因为编译器在方法调用时,会将调用方法的对象作为第一个参数传到方法里面。下面列举几个例子来对this的用途做一些总结。 ...
分类:
其他好文 时间:
2017-07-15 19:58:17
阅读次数:
216
方法重载是java中编译器在方法调用时采用的一个重要机制。起初方法重载的初衷是方便构造器的调用,比如对于一个类,可以实现用不同的方法来初始化它,又由于构造器的名称都是一样的,所以必须使用到方法重载的机制,并且这种机制不仅限于构造器方法。下面这个例子提供了方法重载的构造器和一般方法的例子。 输出如下: ...
分类:
其他好文 时间:
2017-07-15 19:03:56
阅读次数:
177
接下来进入第五章,java中初始化和清理的问题,这是两个涉及安全的重要命题。初始化的功能主要是为库中的构件(或者说类中的域)初始化一些值,清理的功能主要是清除程序中不再被需要的元素,防止资源过分被垃圾占用的出现,为解决这些问题,java中提供了对构造器和垃圾清理器的支持,首先讨论构造器的问题。 为了 ...
分类:
其他好文 时间:
2017-07-15 18:56:06
阅读次数:
183
前几天又把Thinking in Java的第五章看了一遍,当然。又是收获多多,尽管没有去年第一次看到这本书时的兴奋——当时每天非常晚下班回宿舍后都是必看一点的,可是也捡起了不少忘掉的东西。 本章的标题是:初始化与清理 首先讲述了构造器的由来:在使用对象前,我们都必须确保该对象经过了初始化,那么能够 ...
分类:
编程语言 时间:
2017-07-08 13:30:03
阅读次数:
217
知识点整理: 1.从概念上讲,‘初始化’与‘创建’是彼此独立的,但是在Java中,两者被捆绑在一起,不可分离。 2.区分重载的方法:每个重载的方法都有一个独一无二的参数类型列表。 甚至参数顺序的不同也可以区分两个方法,但是不建议这样做,这样会使代码难以维护。 注意:不可以通过返回值区别重载,原因是有 ...
分类:
编程语言 时间:
2017-04-28 23:37:38
阅读次数:
251
一、垃圾回收器如何工作? 1、Java虚拟机将采用一种自适用的垃圾回收技术。 停止-复制: 原理: 先暂停程序的运行(所以它不属于后台回收模式),然后将所有存活的对象从当前堆复制到另一个堆,没有被复制的全部都是垃圾。当对象被复制到新堆时,他们是一个挨着一个的,所以新堆保持着紧凑的排列,当对象从一处搬 ...
分类:
其他好文 时间:
2017-04-12 03:06:32
阅读次数:
175