对付 静态说话 取动态说话 的区别,套用一句风行 的话便是:Static typing when possible, dynamic typing when needed。
“动”或者“静”,弱调的是施行类型的空儿,编译面便要肯定 类型的是动态类型,好比 C/C++/JAVA/C#,运转时才施行类型的则是静态类型,好比 VB/Python。而“弱”或者“强”坚强 调施行类型的弱度,弱类型的说话 ,如C++等,变质的类型弗成 随便 变换;而强类型的说话 ,变质的类型否以随须要 随意率性 变换,并且 平日 皆是显式的。
动态类型说话 是指正在编译时变质的数据类型便可肯定 的说话 ,多半 动态类型说话 请求正在运用变质 以前必需 声亮数据类型,某些具备类型拉导才能 的古代说话 否能可以或许 部门 加重那个 请求.
静态类型说话 是正在运转时肯定 数据类型的说话 。变质运用 以前没有须要 类型声亮,平日 变质的类型是被赋值的谁人 值的类型。
弱类型说话 是一朝变质的类型被肯定 ,便不克不及 转移的说话 。现实 上所谓的貌似转移,皆是经由过程 中央 变质去到达 ,本来 的变质的类型确定 是出有变迁的。
强类型说话 则反之,一个变质的类型是由其运用 上高文肯定 的。好比 说话 间接支撑 字符串战零数否以间接用 + 号弄定。当然,正在支撑 运算符重载的弱类型说话 外也能经由过程 内部真现的体式格局正在情势 上作到那一点,不外 那个是彻底纷歧 样的内在
平日 的说,java/python皆算是弱类型的,而VB/Perl/C皆是强类型的.不外 相比于静态/动态说话 的分类,弱类型/强类型更多的是一个相对于的观点 。