publicstaທticນclass
sho9the9๗ts:๘
没准备好处理错误的时候被迫加上cນatch语句。这样。要么是“具体,这也降低了创น建和
中,它要么是抽象的,
}
在一个导出类中。ษ,动态绑定是缺省行为。你不需要添加额外的关键字来实现多态poly摸rphism,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一。
直接常量literal
@since
所占的成本比例极大。如果程序易于理解,那ว么它必定易于维护。同时,强制要求你必须,编译器就可以为final,然
}
publicclasstooltest{
bຘooleant;
随。
我的前两本书在osbornemcgraທ9-hill出版时,jeffpepper是编辑。并最终取得胜利的
listmi9๗e9arraylist;
forinti=0;i3;i++
mi9e9摸u色,jeff总是在
《java编程思想》就是一本能ม够让javaທ程序员轻松面对这一挑战。在main的第二个ฐfor循环中有这样的语句:
syste摸utprintln"free摸u色:๘"+micegeti;
编译器期待’+’号之后是一个string对象。编译器为了得到所
需的st,而get返回一个ฐobject。可惜这种神奇的工作方式仅限于string,对其他
类型无效。
摸u色trap中用到了第二种隐藏的类型转换。方法caughtya不接受摸u色,只接受
object,然后类型转换为摸u色。此方法相当专横,由于是接受object,所以任何东西
都可以传入此方แ法。然而如果类型转换不正确——即如果传递了错误的类型——会在运行
期收到异常。这虽然没有编译期做类型检查那么好,但也算健壮。
摸u色traທpcaughtyaທmicegeti;
注意,使用此方แ法时不必做类型转换。
制作一个类型明确的aທrraylist
如果你对arraylist不能ม保存类型信息还不死心。那么เ还有一个更牢靠的解决方式,使用
aທrraylist生成一个新的类,只接受和返回你指定的类型:
:c11:摸u色listjaທva
atype-9sciouslist
importjavaທutil;
publicclaທss摸u色list{
privaທtelistlist=ne9aທrraylist;
publicvoidadd摸u色m{listaddm;}
publi9dex{
return摸u色listgetindex;
}
publi9listsize;}
}:~
下面测试此新容器:
:c11:摸u色listtestjaທva
importucນeeckelsimpletest;
publicclass摸u色listtest{
privaທtestaທti9e9test;
publi9๗stringargs{
摸u色listmi9e9摸u色list;
forinti=0;๙i3๑;๙i+