看Map的代码,忽然看到了KeySet方法,发现自己对里面的语法不理解,就是图上 new AbstractSet<K>() {}
部分(主要是忘了语法)...
后来网上一搜发现是匿名内部类,具体匿名内部类知识可以自行百度。这里简单说下自己的理解。
匿名内部类的使用。最常用的时候就是多线程部分,new Thread() {}
和 new Runnable() {}
。(更多实例可参考:java中的匿名内部类总结 - Nerxious - 博客园 http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html)。
然后对于上图做一个解释说明:
里面的所有方法都是AbstractSet
中,结合需要需自行实现的方法。如果在AbstractSet
中找不到源头可以在其继承的类或者接口中尝试寻找。