Reflection: information about constructors in Java
Forums:
//SampleLib.MacBook - full class name
Class macType = Class.forName("SampleLib.MacBook");
Constructor[] cList = macType.getDeclaredConstructors();
for (Constructor c : cList) {
String info = getModifiers(c.getModifiers()) +
macType.getSimpleName() + "(" +
getParameters(c.getParameterTypes()) + ")";
System.out.println(info);
}
String getModifiers(int m) {
String s = "";
if (Modifier.isPublic(m)) s += "public ";
if (Modifier.isProtected(m)) s += "protected ";
if (Modifier.isPrivate(m)) s += "private ";
if (Modifier.isStatic(m)) s += "static ";
return s;
}
String getParameters(Class[] params) {
String s = "";
for (int i = 0; i < params.length; i++) {
if (i > 0) s += ", ";
s += params[i].getSimpleName() + " param" + (i + 1);
}
return s;
}
- Log in to post comments