![]() |
1
1
我建议你参考 Oracle material 并对其进行了测试,以了解桥梁的作用机理。 桥是超越Java 1.5之前编译时不变的重写方法能力的工件。
这座桥是座桥,所以它是一个连接点。在这里,它介于具有原始返回类型的方法和具有协变返回类型的重写方法之间。
你想查一下吗? 编译这个类,然后反汇编它的源代码。
你会得到如下信息: Compiled from "Point.java" public class Point { public Point(int, int); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: aload_0 5: iload_1 6: putfield #2 // Field x:I 9: aload_0 10: iload_2 11: putfield #3 // Field y:I 14: return protected Point clone() throws java.lang.CloneNotSupportedException; Code: 0: new #4 // class Point 3: dup 4: aload_0 5: getfield #2 // Field x:I 8: aload_0 9: getfield #3 // Field y:I 12: invokespecial #5 // Method "":(II)V 15: areturn protected java.lang.Object clone() throws java.lang.CloneNotSupportedException; Code: 0: aload_0 1: invokevirtual #6 // Method clone:()LPoint; 4: areturn }
你可以看到
|
![]() |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
![]() |
milczi · Swift通用无强制展开向下投射 6 年前 |
![]() |
bugs · Typescript-泛型类型扩展自身 6 年前 |
![]() |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
![]() |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
![]() |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |