Java Namespace - Two classes with the same name in different packages

Viewed 4348

I am coming from Objective-C where we don't have packages and namespacing.

Android has android.text.format.DateFormat which has static methods that return java.text.DateFormat instances (getLongDateFormat() and getMediumDateFormat() specifically).

  1. Are these methods referred to as "static methods" or "class methods" or both interchangeably?

  2. Looking at Android documentation, 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)?

  3. How do I import the necessary packages to be able to use both of these classes in my source?

  4. Is it possible to write my implementation code this way:

DateFormat df = DateFormat.getLongDateFormat(this.getActivity());
mLabel.setText(df.format(mEvent.getDate());

The other way I would write it would be to use the full package names, but this seems unnecessary:

java.text.DateFormat df = android.text.format.DateFormat.getLongDateFormat(this.getActivity());
mLabel.setText(df.format(mEvent.getDate());
2 Answers
Related