title: Java Namespace - Two classes with the same name in different packages
body: <p>I am coming from Objective-C where we don't have packages and namespacing.</p>
  
  <p>Android has android.text.format.DateFormat which has static methods that return java.text.DateFormat instances (<code>getLongDateFormat()</code> and <code>getMediumDateFormat()</code> specifically).</p>
  
  <ol>
  <li><p>Are these methods referred to as "static methods" or "class methods" or both interchangeably?</p></li>
  <li><p>Looking at <a href="http://developer.android.com/reference/android/text/format/DateFormat.html">Android documentation</a>, how am I suppose to know that the android.text.format.DateFormat methods return a java.text.DateFormat instance and not an android.text.format.DateFormat instance (returning an instance of the latter is what I initially expected)?</p></li>
  <li><p>How do I import the necessary packages to be able to use both of these classes in my source?</p></li>
  <li><p>Is it possible to write my implementation code this way:</p></li>
  </ol>
  
  <p></p></p>
  
  <pre><code>DateFormat df = DateFormat.getLongDateFormat(this.getActivity());
  mLabel.setText(df.format(mEvent.getDate());
  </code></pre>
  
  <p>The other way I would write it would be to use the full package names, but this seems unnecessary:</p>
  
  <pre><code>java.text.DateFormat df = android.text.format.DateFormat.getLongDateFormat(this.getActivity());
  mLabel.setText(df.format(mEvent.getDate());
  </code></pre>