如本Java 教程中所述,桥接方法意味着它也是一种合成方法。问题是,isSynthetic
方法的调用是否有可能返回true,但isBridge
对于一个对象,方法返回false Method
,即,如果一个方法是合成的,是否意味着它也是一个桥接方法?
它并不完全相同,但isSynthetic
和isBridge
方法的源代码如下所示:
static final int SYNTHETIC = 0x00001000;
public boolean isSynthetic() {
return (getModifiers() & SYNTHETIC) != 0;
}
static final int BRIDGE = 0x00000040;
public boolean isBridge() {
return (getModifiers() & BRIDGE) != 0;
}
为什么isBridge
方法体不像return isSynthetic();
?