未定义的变量可以在java函数中使用吗?

Xin*_*Shi 2 java hashmap

我正在阅读HashMap.java.在第917行中,函数values()使用了变量.但是,我搜索了所有的java文件而没有找到一些定义的变量命名.怎么解释这个?

  916       public Collection<V> values() {
  917           Collection<V> vs = values;
  918           return (vs != null ? vs : (values = new Values()));
  919       }
Run Code Online (Sandbox Code Playgroud)

Hov*_*els 5

它位于HashMap的父类AbstractMap中:

300       transient volatile Collection<V> values = null;
Run Code Online (Sandbox Code Playgroud)