クローン メソッドをオーバーライドすると、コンパイラは正しいポリモーフィズムを保証するためにブリッジ メソッドを作成します (これはクラスのデコンパイルです)。
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()
???