47

据我了解,动态类型与弱类型相同,强类型与静态类型相同,但我不确定我是否正确。

4

1 回答 1

81

静态类型与动态类型:

静态类型是在编译时进行类型检查。您必须在代码中为变量定义类型,并且您对数据执行的任何操作都将由编译器检查。

动态类型是在运行时进行类型检查。如果您尝试对不兼容的类型执行操作,而不是在编译代码时出现错误,您将得到运行时错误。但是,您将受益于拥有更多通用函数,因为它们可以为多种数据类型编写一次。

强类型与弱类型:

当您具有强类型时,您将只能通过直接操作该数据类型的对象来对数据进行操作。

弱类型化允许您在不考虑其类型的情况下对数据进行操作。一些语言通过指针来做到这一点。其他语言会在执行操作之前将您的一种类型转换为另一种类型。

我包含的链接有更详细(可能更清晰)的解释。

于 2012-08-09T18:32:02.653 回答