Мое предположение состоит в том, что при оптимизации компилятора (например, встраивание) практически не имеет значения, является ли метод «вложенным» в несколько уровней. Это действительно так?
Например, скажем, что объявлены следующие 3 класса:
public class Third extends Second
{
public int test3() // Call test2() and nothing else
{
return super.test2();
}
}
public class Second extends First
{
public int test2()
{
return super.test1(); // Call test1() and nothing else
}
}
public class First
{
public int test1() // Calculate a result somehow
{
int result = 0;
...
return result;
}
}
С учетом 3 уже созданных объектов third
, second
и first
, затраты на следующие вызовы практически одинаковы?
third.test3();
third.test2();
third.test1();
second.test2();
second.test1();
first.test1();
Будет ли какая-то разница в оптимизации, если имя метода будет таким же?