Java匿名内部类中this的小知识(待补充完整)

今日在看到Enumeration 借口的源码时发现,Enumeration 接口的asIterator 方法返回了一个迭代器,并使用匿名内部类(实现接口的匿名内部类)。对迭代器中的方法进行了实现

    default Iterator<E> asIterator() {
        return new Iterator<>() {
            @Override public boolean hasNext() {
                return hasMoreElements();
            }
            @Override public E next() {
                return nextElement();
            }
        };
    }

使用Enumeration的方法对迭代器的方法进行了重写。这里在匿名内部类中使用了外部类的方法。最下我认为应该是使用 外部类名.this.方法名 的方式进行调用, 因为只写方法名,如果内部类也有相同的方法,则会调用内部类的方法,如果内部类没有相应的方法,则会调用外部类的方法,应该是编译器进行了相应的工作。

    原文作者:打怪升级的菜鸡
    原文地址: https://blog.csdn.net/weixin_40901329/article/details/81047360
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞