Java编程:RTTI、Swing与Applet的深入解析
1. RTTI的应用与注意事项
RTTI(运行时类型识别)在Java编程中有着重要的应用。有时候,它并非是最佳解决方案。例如,当你可以将方法放在特定类(如 Wind 类)中时,就无需使用RTTI。不过,更合适的做法是在基类中添加 prepareInstrument() 方法,但在初次解决问题时,你可能不会立刻想到这一点,从而错误地认为必须使用RTTI。
RTTI有时也能解决效率问题。如果你的代码很好地运用了多态性,但其中一个对象对通用代码的响应效率极低,你可以使用RTTI找出该类型,并编写特定的代码来提高效率。但要注意,过早地为了效率而编程是一个诱人的陷阱。最好先让程序正常运行,然后判断其运行速度是否足够快,只有在这时才应该使用性能分析器来解决效率问题。
以下是一些相关的练习:
1. 在 Shapes.java 中添加 Rhomboid 类。创建一个 Rhomboid 对象,将其向上转型为 Shape ,然后再向下转型回 Rhomboid 。尝试将其向下转型为 Circle ,观察会发生什么。
2. 修改练习1,使其在进行向下转型之前使用 instanceof 检查类型。
3. 修改 Shapes.java ,使其能够对特定类型的所有形状进行“高亮显示”(设置一个标志)。每个派生 S
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



