在Java中,嵌套类可以是static或不是。如果它们是static,则它们不包含对包含实例的指针的引用(它们也不再称为内部类,它们称为嵌套类)。
static在不需要引用时忘记创建嵌套类可能会导致垃圾回收或转义分析的问题。
是否可以建立匿名内部类static?还是编译器会自动找出原因(之所以会这样,因为不能有任何子类)?
例如,如果我做一个匿名比较器,几乎不需要外部引用:
Collections.sort(list, new Comparator<String>(){
int compare(String a, String b){
return a.toUpperCase().compareTo(b.toUpperCase());
}
}
茅侃侃
相关分类