我的假设是,通过编译器优化(例如,内联),一个方法是否“嵌套”几个级别几乎没有区别.那确实是这样吗?
例如,假设声明了以下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.test3();
third.test2();
third.test1();
second.test2();
second.test1();
first.test1();
如果方法的名称相同,它会在优化方面有什么不同吗?