Java,获取包含类的Class对象,而不是Runtime Class

Mik*_*ike 2 java oop reflection

考虑这个Java代码

class A{
 //@returns Class object this method is contained in
 // should be A in this case
 public Class<?> f() {
   return getClass();
 }
}

class B extends A {}

B b = new B();

System.out.println(b.f());
//output -- B.class (Wrong, should be A.class)
Run Code Online (Sandbox Code Playgroud)

在里面f()我不能使用,getClass()因为那会给我一个runtype,这是B.我正在寻找一种方法来获取内部的Class对象class f()(A显然没有明确提及)

Tom*_*ine 6

new Object() {}.getClass().getEnclosingClass().但请不要!