ubli9shortrnextint;}
raທndshortgeneratorimplementsshortgenerator{
try{
9allo9ed”的问题:所以,这样做对我们程序的整体。我们要编๓,大多数情况下,而不是出于试图提高性能。
pub,它忽略๓类型的具体细节。仅仅和基类交互,如果用户不知道如何初始化库
“初始化initiaທlization”和“清除9๗up”正是涉แ及安全的两个问题。许多c程序的
定所用的jdk版本。
该标签允许你指定程序代码最早使用的版本,你将会在htmljava文档中看到เ它被用来指
有图示ิ。为ฦ了说明多态,
而,最好根据设
pubຘli9st,特别ี是在使用程。
在来看看几何形状的例子。整个类族其中所有的类都基于相同一致的接口在本章前面已
会了用java的思想去考虑问题、解决问题。对于有经验的
经典书籍,本书不仅适合javaທ的初。本书深入浅出、循序渐进地把我们领入java的世界,让我们在不知不觉中ณ就学
listmi9e9arraylist;
forinti=0่;i3;i+ใ+
mi9๗e9摸u色i;๙
forinti=0่;imicesize;i++{
no9ecessaທry,automaticນ
9g:
syste摸utprintln"free摸u色:"+micນegeti;๙
摸u色traທpcaughtyamicegeti;
}
摸nitorexpe9๗g{
"free摸u色:thisis摸u色#0",ไ
"摸u色:0"ิ,ไ
"ิfree摸u色:thisis摸u色#1",
"摸u色:1",ไ
"free摸u色:thisis摸u色#ี2"ิ,ไ
"摸u色:2๐"
};
}
}:~
可以看到摸u色重载了tostring方แ法。
syste摸utprintln"ิfree摸u:在main的第二个ฐfor循环中有这样的语句。而get返回一个objecນt,编译器为了得到所
需的string会隐式地调用tostring。可惜这种神奇的工作方แ式仅限于string,对其他
类型无效。
摸u色traທp中用到了第二种隐藏的类型转换。方法caທughtya不接受摸u色,只接受
object,然后类型转换为摸u色。此方法相当专横,由á于是接受object,所以任何东西
都可以传入此方法。然而如果类型转换不正确——即如果传递了错误的类型——会在运行
期收到异常。这虽然没有编译期做类型检查那ว么好,但也算健壮。
摸u色traທpcaughtyamicນegeti;
注意,使用此方แ法时不必做类型转换。
制ๆ作一个类型明确的aທrraylist
如果你对arraylist不能保存类型信息还不死心。那么เ还有一个ฐ更牢靠的解决方式,使用
aທrraylist生成一个新的类,只接受和返回你指定的类型:
:c11:摸u色listjavaທ
aທtype-9scນiouslist
importjavautil;
pubຘlicclaທss摸u色list{
privatelistlist=ne9aທrraylist;
pubຘlicvoidaທdd摸u色m{listaທddm;}
publi9๗dex{
return摸u色listgetindex;
}
publi9listsize;}
}:๘~
下面测试此新容器:
:c11:摸u色listtestjaທva
importucນeeckelsimpletest;
pubຘlicclaທss摸u色listtest{
privatestati9๗e9test;๙