static imports method overlap

451 Views Asked by At

if you have a class with a static import to java.lang.Integer and my class also has a static method parseInt(String) then which method will the call parseInt("12345") point to?

Thanks in Advance!

2

There are 2 best solutions below

6
On BEST ANSWER

If you're inside your own class it will call your method.
If you're outside your class (and import both classes) you must specify which class to use.

Prove: http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf $8 and $6.3 (see comments)

1
On

Try this:

import static java.lang.Integer.parseInt;

public class Test {
    public static void main(String[] args) {
        System.out.println(parseInt("12345"));
    }

    private static int parseInt(String str) {
        System.out.println("str");
        return 123;
    }
}

the result:

str
123

the method in you class is executed first.