[英]what is the difference between an inner class and a local inner class in java?
[英]Difference between package class and private static inner class in Java?
如果我有Thing
和ThingAdapter
两个类,其中ThingAdapter
仅在Thing
类中使用,那么在将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
}
}
与
public class Thing {
// stuff
}
/* package */ class ThingAdapter {
// adapter stuff
}
我当前正在使用的环境是Android,但我还没有看到两者之间的性能差异,尽管没有实际对其进行基准测试。 另外,Dalvik和JVM是否会对此有所不同?
没有明显的性能差异。 在这种情况下,班级设计不应影响性能。 一个好的方法是编写对开发人员尽可能清晰的代码,然后对其进行概要分析以查找瓶颈(如果需要),然后仅优化受影响的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.