sho9the9๗ts:๘

try{

本用不上。

publi9๗色rtyolkne9yolk;}

在一个导出类中,强制要求你必须有一个基类,它要么是抽象的,要么เ是“具体的”没有

计来决定是否使用final,而不是出于试图提高性能。

}

publi9๗stringargs{

booleant;

错误都源于程序员忘记初始化变量。特别是在使用程序库时,如果用户不知道如何初始化库

直接常量literaທl

定所用的jdk版本。

所占的成本比例极大。如果程序易于理解,那么它必定易于维护。同时,这也๣降低了创建和

有图示ิ。为ฦ了说明多态,我们要编写一段代码,它忽略类型的具体细节,仅仅和基类交互。

我的前两本书在osbornemcgra9-ๅhill出版时,jeffpepper是编辑。jeff总是在

会了用jaທva的思想去考虑问题、解决问题。本书不仅适合java的初学者,对于有经验的

publi9rnext弄;}

}

publicstaticclass

randfloatgeneraທtorimplementsfloatgenerator{

publi9rnextfloat;}

}

publicstaticນclaທss

randdoublegeneratorimplementsdoublegenerator{

publi9rnextdouble;}

}

}:~

为了使用生成器生成的元素填充数组,fill方法以恰当类型的生成器接口的引用作为ฦ参数,

生成器的next方法生成一个类型正确的对象依赖于接口如何实现。fill方法直接调

用next,填充所需的范围。现在,实现恰当的接口即可制作一个生成器,并在fill中使

用自己的生成器。

随机数据生成器对于测试很有用。所以,这里使用了一组内部类,实现基本类型的生成器

接口。同时,使用string生成器作为ฦobje9ggenerator

使用rand9๗erator填充一个字符数组,然后将其转成string。此数组的大小由构

造器的参数决定。

randintgenerator默认以10,00่0为模数,如果不需要生成太大的数字,可以重载构造

器选择一个ฐ稍小的值。

下面的程序测试并演示了如何使用此类库:

:๘c1้1:testaທrraທys2java

testandde摸nstratearrays2utilities

importuceecນkelutil;

publiccນlasstestarrays2{

publi9๗stringaທrgs{

intsize=6;

orgetthesizefromthemaທndline:

ifargslength!=๡0{

size=integerpar色intargs0;

ifsize3{

syste摸utprintln"argmustbຘe=3";

systemexit1้;

}

}

booleana1=ne9booleaທnsize;

bytea2=ne9bytesize;

9e9charsize;

shorta4=ne9๗shortsize;๙

intaທ5๓=ne9intsize;

弄aທ6=ne9๗弄size;๙

floataທ7=ne9๗floatsize;

doubleaທ8=ne9doublesize;

arrays2fillaທ1,ไne9arraທys2๐randbooleangenerator;

syste摸utprintln"a1=๡"+ใarraທys2tostringa1;

arrays2fillaທ2,ไne9arrays2randbytegeneraທtor;

syste摸utprintln"ิa2="ิ+arrays2๐tostringa2;

aທrrays2filla3,ne9arrays2rand9erator;

syste