Java中的包类和私有静态内部类之间的区别?

时间:2014-07-09 15:30:57

标签: java performance dalvik

如果我有两个类ThingThingAdapter ThingAdapter仅在类Thing中使用,那么定义{{}之间是否存在性能(或其他)差异1}}作为ThingAdapter的静态内部类与它旁边的包范围类?

我正在查看的场景Thing的使用方式有点像

ThingAdapter

public class Thing { private ThingAdapter thingAdapter; public doStuff() { thingAdapter = new ThingAdapter(); } } 可以像

一样实现
ThingAdapter

public class Thing {
    // stuff

    private static class ThingAdapter {
        // adapter stuff
    }
}

我目前正在使用的环境是Android,我还没有看到两者之间的任何性能差异 - 但实际上没有对它进行基准测试。此外,Dalvik和JVM会不同地对待它?

1 个答案:

答案 0 :(得分:2)

没有明显的性能差异。在这种情况下,课堂设计不应影响表演。一个好方法是为开发人员编写尽可能清晰的代码,然后对其进行分析以找出瓶颈(如果需要),然后仅优化受影响的代码。