StackTrace存放的就是方法调用栈的信息,StackTraceElement表示StackTrace中的一个方法对象,属性包括方法的类名、方法名、文件件名及调用的行数。
public final class StackTraceElement implements Serializable {
private String declaringClass;
private String methodName;
private String fileName;
private int lineNumber;
它被定义为final,可见其作为一个java的基础类不允许被继承。
private Class<?> deduceMainApplicationClass() {
try {
StackTraceElement[] stackTrace = new RuntimeException().getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
if ("main".equals(stackTraceElement.getMethodName())) {
return Class.forName(stackTraceElement.getClassName());
}
}
}
catch (ClassNotFoundException ex) {
// Swallow and continue
}
return null;
}
最后欢迎大家访问我的个人网站:1024s