aspose file tools*
The moose likes Beginning Java and the fly likes Naming Confliction Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Naming Confliction" Watch "Naming Confliction" New topic
Author

Naming Confliction

Rajat Sarkar
Greenhorn

Joined: Sep 07, 2008
Posts: 18
import static java.lang.System.out; /* imports static 'out' variable */
import static java.lang.Math.*; /* imports all the static methods of 'Math' class */

public class ImportStatic
{
public static void main(String[] args)
{
out.println("sqrt "+sqrt(2.0));
out.println("tan "+tan(60));
}
}


while we import 'static' members, is there any possibility of naming confliction?
If there any,then how the compiler resolves it?
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 3956
    
  17

Naming conflicts can happen with static imports. They occur in two basic scenarios:

1) When staticly importing 'all' statics from multiple classes

2) When staticly importing a method with the same name from multiple classes.


The compiler does not resolve the issue (which is why there is a conflict) so you have to. The solutions are as follows:
1) If the conflict came about because of using a wildcard to import static content from multiple classes, add a new static import line for the conflicted name you want to use.
Example:


2) Specify at the point of the call which implementation of the conflicted member you want to use (especially useful if you want to use one implementation in 1 line, and the other implementation in another line:


My feeling, though, is that if you have to worry about naming conflicts when using static imports you are probably over-using static imports. They are something I would suggest using sparingly, as they will probably cause headaches later on (now where did this value come from? Where is that method declared? etc...)


Steve
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Naming Confliction
 
Similar Threads
static import
Can't get book example to work
static imports / program efficiency
dout on static imports
Needing help with a Do While loop. Getting an "illegal start of expression" error.