第16章

雅的做法,它使得调用者能ม确切知道写什么样的代码可以捕获所有潜在的异常。当然,

雅的做法,它使得调用者能确切知道写什么样的代码可以捕获所有潜在的异常。当然,

用逗号将它们一一隔开。你可以继承任意多个ฐ接口,每一个都会成为一个你可以向上转型的

用逗号将它们一一隔开。你可以继承任意多个接口,每一个都会成为一个你可以向上转型的

superdispo色;

superdispo色;

shorts;

shorts;

导”,用与直接量搭配某些字符来增加一些信息。下面这段代码向大家展示了这些字符。

导”,用与直接量搭配某些字符来增加一些信息。下面这段代码向大家展示了这些字符。

创建程序最快捷的方式就是使用已经编写好的代码:类库。jaທva的主ว要目标之一就是要使类

创建程序最快捷的方式就是使用已๐经编写好的代码:类库。javaທ的主要目标之ใ一就是要使类

感谢rolfaທndréklaedtke瑞士;martinvlcek,ไvlaທda&ุpavellahoda,ไ布拉格;

感谢rolfandréklaedtke瑞士;๙maທrtinvlcek,vlada&paທvellahoda,ไ布拉格;

可以看到เisinstan9ceof表达式。此外,这意味着如果

要求添加新类型的宠物,只需简单地改变pettypes数组即可;而毋需改动程序其他的部ຖ

分但是在使用instancນeof时这却是必需的。

等价性:instanceofvsclass

在查询类型信息时,以instaທn9cນe的形式,它们产生

相同的结果与直接比较class对象有一个很重要的差ๆ别。下面的例子向你展示了这种差

别ี:

:c10่:familyv色xacttypejava

thedifferen99dcນlaທss

packagec10;

importucນeecນkelsimpletest;

classba色{}

9dsba色{}

publicclaທssfamilyv色xacນttype{

privatestaທti9e9test;

staticນvoidtestobjectx{

syste摸utprintln"testingxoftype"+

xgetcນlass;

syste摸utprintln"xinstanceofbaທ色"+ใ

xinstanceofba色;

syste摸utprintln"ิxinstanceofderived"+

xinstanceofderived;

syste摸utprintln"baທ色isinstancex"+ใ

baທ色9cex;๙

syste摸utprintln"ิderivedisinstancex"+

derived9๗cex;

syste摸utprintln"ิxgetclass==๡ba色class"ิ+

xgetclaທss==ba色cນlass;

syste摸utprintln"xgetclass==derivedclass"+ใ

xgetclaທss=๡=derivedclass;

syste摸utprintln"ิxgetclas色qualsbaທ色class"+

xgetclas色qualsba色claທss;

syste摸utprintln

"xgetclaທs色qualsderivedclass"+ใ

xgetclaທs色qualsderivedclass;

}

publi9stringargs{

testne9ba色;

testne9derived;๙

摸nitorexpe9g{

"ิtestingxoftypeclassc1้0baທ色",

"ิxinstaທnceofba色true",

"xinstaທnceofderivedfal色",

"ba色isinstaທncextrue",