title: What does anonymous subclass mean in java?
body: <p>Recently, I'm learning about JSON, using Google's Gson. And I come across a problem. Here is code:</p>
  
  <pre><code>Type type = new TypeToken&lt;Collection&lt;Data&gt;&gt;(){}.getType();
  </code></pre>
  
  <p>I can't understand what <code>{}</code> really mean.So I read source code, and get class description like: Constructs a new type literal. Derives represented class from type parameter... Clients create an empty <code>anonymous subclass</code>. <code>anonymous subclass</code> really make me confused? Can anyone explain it concretely?</p>