动态类型语言:类型的检查是在运行时做的。比如以下代码是不是合法要到运行时才判断(注意是运行时的类型判断)
return a+b;
add(a, b);
……
在用动态类型语言编程时,变量都不需要指定类型,直到运行时才会判断变量的类型。
静态类型语言:类型判断是在运行前(编译阶段)做的。每一个变量都要指定特定的类型,比如:
int a = 1, b = 3;
int c = a + b;
所以像Python、Ruby等语言属于动态类型语言,而Java、C、C++、C#等语言属于静态类型语言。