如果我重写克隆方法,编译器会创建一个桥接方法来保证正确的多态性(这是反编译的类)
class Point
{
Point()
{
}
protected Point clone()
throws CloneNotSupportedException
{
return this; // not good only for example!!!
}
protected volatile Object clone()
throws CloneNotSupportedException
{
return clone();
}
}
因此,当调用克隆方法时,将调用桥方法,并在其中调用正确的克隆方法。但是我的问题是何时调用桥接方法return clone()
,VM如何说它必须调用Point clone()
而不是再次调用自己???