Java 地图。进入下一个方法?

Java 地图。进入下一个方法?,java,hashmap,openjdk,Java,Hashmap,Openjdk,我正在查看JDK 7的源代码,特别是WeakHashMap.java,其中广泛使用了以下内容: Entry<K,V> p = prev; Entry<K,V> next = p.next; 条目p=prev; 条目next=p.next; 但next不是Map.Entry上定义的方法(据我所知?) 对该方法的调用从何而来?WeakHashMap不是指Map.Entry,而是指它自己的Map.Entry接口,一个名为Entry的类。该类有一个名为next的字段,它可以访

我正在查看JDK 7的源代码,特别是WeakHashMap.java,其中广泛使用了以下内容:

Entry<K,V> p = prev;
Entry<K,V> next = p.next;
条目p=prev;
条目next=p.next;
但next不是Map.Entry上定义的方法(据我所知?)


对该方法的调用从何而来?

WeakHashMap
不是指
Map.Entry
,而是指它自己的
Map.Entry
接口,一个名为
Entry
的类。该类有一个名为
next
的字段,它可以访问该字段。

next
不是函数。它是直接访问的类的成员变量。通常您会看到(在OO代码中)


您看到的
.next
语法通常被称为直接成员访问,通常不受欢迎。

它是WeakHashMap中的一个内部类,其中包含对Entry next的引用:

private static class Entry<K,V> extends WeakReference<Object> implements Map.Entry<K,V>{
    V value;
    final int hash;
    Entry<K,V> next;

    Entry(Object key, V value, ReferenceQueue<Object> queue, int hash, Entry<K,V> next) {
    super(key, queue);
    this.value = value;
    this.hash  = hash;
    this.next  = next;

    // omit others...
}
私有静态类条目扩展了WeakReference实现Map.Entry{
V值;
最终整数散列;
进入下一步;
条目(对象键、V值、引用队列、int散列、下一个条目){
超级(键,队列);
这个值=值;
this.hash=hash;
this.next=next;
//忽略其他人。。。
}
查看第682行的源代码:

HashMap也是这样。它有相似的内部类:

static class Entry<K, V> implements Map.Entry<K, V>
静态类条目实现Map.Entry

你说的是什么方法?下一步如果下一个条目链接到当前条目。它不是方法,而是variable@ZouZou是的,我太习惯scala了,忘记了其中的区别。啊!解释了所有的,谢谢:)(这就是我不使用IDE时发生的事情>)
static class Entry<K, V> implements Map.Entry<K, V>