Chapter5_初始化与清理_enum关键字】的更多相关文章

enum关键字虽然只是一个很小的特性,但是它在我们使用枚举类型时,可以很方便的处理.先举一个例子. enum Speciness{ NOT, MILD, MEDIUM, HOT, FLAMING } public class test{ public static void main(String args[]){ Speciness howHot = Speciness.MEDIUM; System.out.println(howHot); } } MEDIUM 可以看到,枚举类型也是一种特定…
this关键字是Java中一类很特殊的关键字,首先它只能在方法内使用,用来表示调用这个方法的对象,在这一点上this和其他对对象的引用的操作是相同的.我们之所以可以在方法内部访问到它是因为编译器在方法调用时,会将调用方法的对象作为第一个参数传到方法里面.下面列举几个例子来对this的用途做一些总结. (1)作为返回值,返回当前对象的引用,在一条语句里对同一个对象做多次操作. class leaf{ int count; public leaf(){ count = 0; } public lea…
接下来进入第五章,java中初始化和清理的问题,这是两个涉及安全的重要命题.初始化的功能主要是为库中的构件(或者说类中的域)初始化一些值,清理的功能主要是清除程序中不再被需要的元素,防止资源过分被垃圾占用的出现,为解决这些问题,java中提供了对构造器和垃圾清理器的支持,首先讨论构造器的问题. 为了保证程序的安全性,java中采用了构造器的机制来保证初始化.第一个问题就是命名的问题,java中的构造器规定名称必须和类名相同.这主要是出于如下的考虑,第一如果让编程者自行命名,则可能会产生于其他任何…
一.数组初始化 数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.编译器是不允许指定数组的长度的,当使用语句int[] a时,拥有的只是一个符号名,即一个数组的引用,并不拥有这个数组的存储空间.要获取数组的存储空间,必须要写初始化表达式,最朴素的表达式类型如下 int[] a = {1,2,3}; 如果在编写程序时,不能确定数组的长度,可以使用如下方式,直接用new在数组里创建元素 int[] a = new int[3]; 当创建对象数组时,数组中的元素仅仅是对象的…
一.构造器初始化的基本顺序 在使用构造器进行初始化时,最需要注意的是初始化的顺序,这种方法可以给初始化的顺序带来很大的灵活性.看如下的一个例子. class Window{ Window(int marker){ System.out.println("Window(" + marker + ")"); } } class House{ Window w1 = new Window(1); House(){ System.out.println("Hous…
在java中,成员初始化在使用之前应该都要保证已经完成初始化.对于在方法体中的局部变量,如果没有使用指定初始化的方法对成员变量进行初始化,编译器会提示一个错误.而对于类的数据成员,编译器会对这些成员赋予默认的初始值,下面这段代码反映了这一点. package test1; class InitialValue{ public int i; public boolean b; public char c; public float f; public String s; public Initia…
方法重载是java中编译器在方法调用时采用的一个重要机制.起初方法重载的初衷是方便构造器的调用,比如对于一个类,可以实现用不同的方法来初始化它,又由于构造器的名称都是一样的,所以必须使用到方法重载的机制,并且这种机制不仅限于构造器方法.下面这个例子提供了方法重载的构造器和一般方法的例子. class tree{ int height; tree(){ System.out.println("无参数构造器"); } tree(int height){ this.height = heig…
4.5初始化和清理 5.1 构造器初始化 无参:如果一个类没有构造器,那么会有一个默认的无参构造器,并且只能通过无参构造器初始化对象: 带参:传入参数初始化成员变量或者其它初始化操作需要的参数,如果类重质油带参构造器,那不能通过无参构造器初始化对象. 5.2 方法重载 具有相同的方法名称.不同的返回值或者参数列表(个数.类型.顺序) 基本类型重载:基本类型存在自动向上转型的情况 5.3 垃圾回收 finalize():在对象被销毁时调用 如何回收:引用计数.停止-复制.标记-清扫.分代.自适应.…
Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 在面向对象编程中,编程人员应该在意“资源”.比如 ? 1 <font color="#000000">String hello = "hello": </font> 在代码中,我们很在意在内存中String类型的hello…
引言 这篇文章我们主要介绍Java初始化和清理的相关内容,这些内容虽然比较基础,但是还是在这边做一个简单的总结,方便以后查阅. 初始化过程 Java尽力保证:所有变量在使用之前都会得到恰当的初始化(对于方法的局部变量,Java会以编译时错误的形式来提醒程序员进行初始化). 1.类数据成员的初始化 类成员初始化过程是这样的:当我们实例化一个对象时,编译器会首先执行数据成员的初始化过程,然后在执行构造器.下面我们通过一个简单的例子来介绍下类数据成员的初始化过程.代码如下: class Sample…