与构造函数的动态绑定

Dynamic binding with constructor

我对构造函数的绑定类型有点困惑。 为什么打电话

Canvas c = new Circle();不是动态绑定?

谢谢!

它是静态绑定,因为它是在编译时完成的。

如果 class Circle 有一个方法覆盖了 Canvas 的方法,并且您像下面这样调用该方法,那么它被称为动态绑定。

//if you override some method in the child class that is Circle 
c.someMethod() //example of dynamic binding 

您可以阅读 static vs dynamic 了解更多信息。