Odpowiedz

6

Jeśli jesteś w swojej klasie, zadzwoni pod numer , podając metodę.
Jeśli znajdujesz się poza klasą (i importujesz obie klasy), musisz określić, której klasy użyć.

Udowodnić: http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf $ 8 i $ 6,3 (patrz komentarze)

+0

Czy możesz pokazać referencję wskazującą, że jest to gwarantowane przez standard? Może to być kompilator zależny ... – amit

+0

czekając na sm1, aby odpowiedzieć na amit – MozenRath

+2

Ze specyfikacji języka Java $ 8: Zakres (§ 6.3) członka (§8.2) jest całym treścią deklaracji klasy, do której członek należy. | Od 6,3: Zakres deklaracji jest regionem programu, w ramach którego podmiot deklarowany przez deklarację może być określany przy użyciu prostej nazwy (o ile jest ona widoczna (§ 6.3.1)). – Paranaix

5

Spróbuj tego:

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; 
    } 
} 

Rezultat:

str 
123 

metoda w was klasie jest wykonywany jako pierwszy.

+2

czy możesz pokazać referencję wskazującą, że jest to gwarantowane przez standard? To może być kompilator zależał ... – amit

+1

+1 Podoba mi się dowód. – Bohemian

Powiązane problemy