Как работает StackTraceElement?

Я нашел статью, в которой отлично все изложено и понятно даже мне..:)) Кроме одной вещи. Вот код из этой статьи:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();//1
String message = "";//2
if(stackTraceElements.length >= 3) {//3
StackTraceElement element = stackTraceElements[2];//4
String className = element.getClassName();//5
String methodName = element.getMethodName();//6
message = className + ": " + methodName;//7
}//8

Вот вашему вниманию, код. В строке под номером 5, мы создаем переменную className типа String, и в нее запихиваем значение которое получаем с помощью метода getClassName(); ---> Понятно. В строке 6, делаем то же самое, но получаем имя метода из которого делается вызов. ---> Понятно. Зачем нам нужна строка под номером 4? Что она делает? Что такое [2]? Почему нельзя обойтись без нее? Извините за столь тупой вопрос, но я совсем новичок и О..ОО..ОООЧЕНЬ хочу выучить java.


Ответы (0 шт):