This question already has an answer here:
Can someone explain me the import statements in Java. Some import has * suffixed to it and some doesn't. What is the difference between these two? Does the use of * in the import statement imports all the classes?
see here import
Here they have said that though the import statements seems nested they are not so. Can someone explain in detail?
From your link:
So yes * suffix imports all classes in this path
The use of
*
is considered a bad practice. It is used to import all files within that package. The more correct way of doing this is listing off each of the classes that you need, specifically in a scenario where you are doing a code review outside of an IDE and need to know which version of the class you are using. Essentially it breeds laziness in the development team.Comment
For those arguing that this is not a "bad" practice as I have stated. How can you possibly say that this is a good practice?
Even if the compiler ignores everything under the
*
except theList
that you have imported, how does this possibly help someone looking at the code in the future? I think a good deal of people here forget that you are writing code for humans and not the computer. Further how could you possibly convert this code when Java goes away and you are using SuperAwesomeLanguage? Given the following example please convert this to your new language when you have ZERO knowledge of java:Is
List
inio
? isio
even required? The issue is you don't know. So by being explicit you can guide future developers as to what classes are required.Yes.
From Oracle's Documentation :
Imports all classes in the com.example package
Imports just the ClassName class