|
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
}
你可以看到
|