//StackTraceElement[] getStackTrace()
//这个方法表示还线程的堆栈跟踪元素数组。如果这个线程尚未启动或者已经终止,则该方法返回一个零长度数组
//如果返回的数组不是零长度的,则其第一个元素代表堆栈顶,他是该数组中最新的方法调用
//最后一个代表堆栈底,他是该数组中最旧的方法调用
// eachElement.getClassName() //类名
// eachElement.getMethodName() //方法名
// eachElement.getFileName() //文件名
// eachElement.getLineNumber()); //在哪一行
//个人理解 方法调用顺序
public class Test1 {
public void a(){
b();
}
public void b(){
c();
}
public void c(){
d();
}
public void d(){
e();
}
public void e(){
StackTraceElement[] array =Thread.currentThread().getStackTrace();
if(array !=null){
for (int i = 0; i < array.length; i++) {
StackTraceElement eachElement =array[i];
System.out.println("className="+eachElement.getClassName() //类名
+"methodName="+eachElement.getMethodName() //方法名
+"fileName="+eachElement.getFileName() //文件名
+"lineNumber="+eachElement.getLineNumber()); //在哪一行
}
}
}
public static void main(String[] args) {
Test1 test1 = new Test1();
test1.a();
}
}