Java核心技术卷I基础知识(原书第9版)
上QQ阅读APP看书,第一时间看更新

1.2.11 动态性

从各种角度看,Java与C或C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。在Java中找出运行时类型信息十分简单。

当需要将某些代码添加到正在运行的程序中时,动态性将是一个非常重要的特性。一个很好的例子是:从Internet上下载代码,然后在浏览器上运行。在Java 1.0中,不能直接获得运行时的类型信息,而Java的当前版本允许程序员知道对象的结构和行为。这对于必须在运行时分析对象的系统来说非常有用。这些系统有:Java GUI构建器、智能调试器、可插拔组件以及对象数据库。

注释:Java成功地推出后不久,微软就发布了一个叫做J++的产品,它与Java有相同的编程语言以及虚拟机。现在,微软不再支持J++,取而代之的是另一种被称为C#的语言。C#与Java有很多相似之处,然而使用的却是完全不同的虚拟机。甚至还有一种J#语言可将J++的应用迁移到使用C#的虚拟机上。本书不准备介绍J++、C#或J#语言。