title: Java class name same as the nested package name
body: <p>In my Java application, I use a third-party library.</p>
  
  <p>However, I found something strange, there are some nested packages, and some classes whose name may be the same as the name of the package.</p>
  
  <p>I am afraid I can not make it clear. Here is an example:</p>
  
  <p>package</p>
  
  <pre><code>  com.xx.a
    com.xx.a.a
  </code></pre>
  
  <p>And there is a class named 'a' inside the 'com.xx.a'.</p>
  
  <p>So if I want to call this class 'a'...</p>
  
  <p>I write:</p>
  
  <pre><code>a ma = new com.xx.a.a();
  </code></pre>
  
  <p>Then the IDE will think that I mean the package 'com.xx.a.a'.</p>
  
  <p>Then I can not call it.</p>
  
  <p>I wonder why?</p>
  
  <p>By the way, it seems that the library provider did not want us to use these kinds of classes.</p>
  
  <p>How do they do this?</p>