测试代码
package zj.playretrofit;
import java.lang.*;
import java.lang.reflect.Method;
enum newEnum {
M {
},
N {
};
}
class InnerClassA{
public void haha(){
};
}
public class TestMethod {
public static void main(String args[]) {
/* returns the Class object corresponding to this enum
constant's enum type */
System.out.println("日哦1:"+newEnum.M.getDeclaringClass());
InnerClassA innerClassA = new InnerClassA();
Method[] methods = innerClassA.getClass().getMethods();
for (int i = 0; i < methods.length; i++) {
Class<?> declaringClass = methods[i].getDeclaringClass();
String name = methods[i].getName();
System.out.println("日哦k:" + name +"__________"+ i + "____" + declaringClass);
}
}
}
输出结果
日哦1:class zj.playretrofit.newEnum
日哦k:haha__________0____class zj.playretrofit.InnerClassA
日哦k:wait__________1____class java.lang.Object
日哦k:wait__________2____class java.lang.Object
日哦k:wait__________3____class java.lang.Object
日哦k:equals__________4____class java.lang.Object
日哦k:toString__________5____class java.lang.Object
日哦k:hashCode__________6____class java.lang.Object
日哦k:getClass__________7____class java.lang.Object
日哦k:notify__________8____class java.lang.Object
日哦k:notifyAll__________9____class java.lang.Object
总结
对于class而言该方法是获取被定义方法的class的。对于枚举而言则是获取定义枚举的类。

本文详细介绍了针对Method#getDeclaredClass()的测试过程,包括测试代码的编写与执行,展示了具体的输出结果,并对此进行了总结,特别讨论了在类和枚举上下文中的不同行为。

被折叠的 条评论
为什么被折叠?



