微信

使用微信服务,更方便

职友集>程序员面试题 > 编译期类型检查 与 运行期类型检查有什么区别?

编译期类型检查 与 运行期类型检查有什么区别?

2015-10-16 06:30:02 阅读( 105 )

2489人 收藏本页

标签:程序员面试题

类型的强壮性是评价程序设计语言的重要标准。涉及到类型检查的内容包括对已存在的方法的调用,方法的参数的类型,数组边界的检查,等等。
C++、Java和Object Pascal多或多或少的支持编译期类型检查,其中,C++的类型检查最弱,而Java的最强。原因是,C++保留了对C语言的支持,而C语言虽然支持编译期类型检查,却极其微弱。例如,C和C++认为所有数字类型都是兼容的(虽然向整型变量赋浮点数值时编译器会报警)。在Object Pascal和Java语言中,布尔值与整型数值不同,而字符类型则是另一个完全不兼容的类型。
虽然Java虚拟机在运行期“翻译”比特码,但并不表示它放弃了编译期类型检查。相反,在Java中类型检查进行的相当彻底。另外一些OOP语言,例如Smalltalk和CLOS,则在运行期进行类型检查。

来自IT公司面试手册

下一篇:混合OOP语言和纯OOP语言你了解吗?

上一篇:电子商务应用系统应满足哪些要求?

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题