java - 内部类的原因

标签 java class nested

我没有获得内部类。 Java中使用内部类的原因是什么?你能给我一个静态和非静态嵌套类的好例子吗?它有什么优点/缺点? 干杯

最佳答案

匿名内部类对于用很少的方法定义一次性类非常有用,例如在实现事件监听器或比较器时。在这些情况下,考虑到它不会在其他地方使用,一个成熟的类就显得有些过分了。

下面是一个作为匿名内部类实现的字符串列表比较器的简单示例:

Collections.sort(myArrayList, new Comparator() {
    public int compare(Object a, Object b) {
        return ((String) a).compareToIgnoreCase((String) b);
    }
});

或者,如果 myArrayList 恰好是一个通用列表,则它的外观如下:

Collections.sort(myArrayList, new Comparator<String>() {
    @Override
    public int compare(String a, String b) {
        return a.compareToIgnoreCase(b);
    }
});

关于java - 内部类的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14803318/

相关文章:

java - 如何才能等到 com.sun.codemodel.JCodeModel.build() 完成

Java:掷骰子和输出

Java父类(super class)调用子类方法

javascript - 如何在 Angular js 中将 JSON 嵌套字典转换为 JSON 嵌套数组?

Python 对嵌套字典中的值求和

java - OpenShift Java - 使用数据目录中的图像

java - 黑莓:拨轮定格动画监听器

python - 将指针传递给导入的扩展类型方法时出错,而无需导入的同一类没有问题

c++ - 错误 - 在 C++ 中无法调用没有对象的成员函数

javascript - 嵌套函数作用域变量