![](/img/trans.png)
[英]Is there a easy way to extract a interface from a Java class, including public methods of super classes?
[英]Extract interface from java class
我有一类内部有很多静态类,它们是从.xsd文件生成的。 有没有办法提取所有静态类的接口,并保持原始格式(带有内部接口)?
一个例子:
类:
public class Main {
int a;
public void do(){
...
}
public static class Inner {
int b;
public void foo(){
...
}
}
}
接口:
public interface IMain {
void do();
interface IInner {
void foo();
}
}
在Janus的帮助下,我创建了一个函数:
public void printInterface(Class<?> clazz) {
System.err.println("public interface I" + clazz.getSimpleName() + "{");
for (Method m : clazz.getDeclaredMethods()) {
String params = "";
for (Parameter p : m.getParameters()) {
if (params != "")
params += ", ";
params += p.getType().getSimpleName() + " value";
}
System.err.println(" " + m.getReturnType().getSimpleName() + " " + m.getName() + "(" + params + ");");
}
for (Class<?> c : clazz.getDeclaredClasses()) {
printInterface(c);
}
System.err.println("}");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.