我有一个通用接口和实现它的类:
import java.util.Arrays;
interface Interface<T> {
void doSomething(T element);
}
class StringImpl implements Interface<String> {
@Override
public void doSomething(String element) {
System.out.println("StringImpl: doSomething");
}
}
public class Main {
public static void main(String... args) {
System.out.println(Arrays.toString(StringImpl.class.getDeclaredMethods()));
}
}
结果是:
[public void com.ra.StringImpl.doSomething(java.lang.String),
public void com.ra.StringImpl.doSomething(java.lang.Object)]
但实际上,我只需要实现版本:
public void com.ra.StringImpl.doSomething(java.lang.String)
你有没有任何方便的方法来实现它?
!m.isSynthetic
,但这个更好。 - Menamodifiers
,它是0x1041 => [synthetic, volatile, public]。但在我看来,0x1401 => [synthetic, abstract, public] 更好。所以我想知道为什么使用volatile
而不是abstract
... - Ukonn Ravolatile
方法? - Eugene