内部课程的原因

时间:2013-02-10 22:26:55

标签: java class nested

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

1 个答案:

答案 0 :(得分:2)

匿名内部类对于使用极少数方法定义一次性类很有用,例如在实现事件监听器或比较器时。在这些情况下,如果它不会在其他任何地方使用,那么一个完整的类将是过度的。

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

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);
    }
});