在HashMap
类中有一个内部类KeySet
,其实例由HashMap
的实例方法返回keySet()
。这个内部类包含以下方法。
public void clear() {
HashMap.this.clear();
}
我理解“ this
”的一般语义
- 它是对“当前”对象的引用。
- 可以在构造函数或任何实例方法中使用,其中它充当对正在构造的对象或正在调用其方法的对象的引用。
上面使用 " this
" 的风格看起来很有趣,
- 它被用作一个类的静态变量。
- 它仍然应该引用一个正在调用其方法的对象。从逻辑上讲,它应该是一个 HashMap 实例。
鉴于上述两个,应该可以对任何动态创建的实例对象进行静态引用,但这是不可能的,因为在运行时可能有无限数量的实例,并且没有任何语言结构来指定类与其之间的这种关系实例。
我肯定错过了一些东西,有人可以帮助我更好地理解这一点。