AFAIK,所有动态类型语言都使用后期绑定,即方法的名称在编译时没有绑定到类型。而是使用该方法的名称在运行时查找它。是否可以使用动态类型并仍然使用早期绑定?
答案 0 :(得分:0)
基本上,是的动态类型意味着绑定将在以后发生'在运行时,但反之亦然。您可以在强类型语言中使用反射来实现import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// Instantiate a Date object
Date date = new Date();
// display time and date using toString()
System.out.println(date.toString());
}
}
,而无需任何动态类型。 甚至更简单,后期绑定也会在运行时解析虚方法调用时发生。 UPD:这实际上是late binding
的一个例子,而不是Dynamic dispatch
,正如@LearningMath所正确指出的那样
是否可以使用动态类型并仍使用早期绑定?
没有。这与#34;动态类型"的定义/含义相矛盾。