2015-02-18 7 views
6

ben derlemek değil bekliyordum aşağıdaki Java programı var, ama oldu:Tür bağımsız değişkenli parametrelenmemiş bir yöntemi çağırmak neden bir hata değil?

class Test { 
    public static void f() { 
    } 

    void m() { 
      Test.<String>f(); 
    } 
} 

bu şekilde olmayan bir parametreli yöntemini çağırarak Javac izin vermez Neden?

Benim Java derleyicisi sürümü: Javac 1.7.0_75

+2

Hangi JDK sürümünü kullanıyorsunuz? Bana derleme yapmıyor (JDK 1.5 ve1.6) – Albert

+0

@Albert Oh, Java 7 kullanıyorum. Açıklamayı JDK sürümüyle düzenleyeceğim. – user11171

+0

Bu şeyleri nereden aldınız ⁿ | ⁿ –

cevap

5

açık türü parametre basitçe göz ardı edilir.

Bu

JLS, Section 15.12.2.1 belirtilmiştir: yöntem çağırma açık tip argümanları içerir ve üyesi, genel bir yöntemdir

  • , o tip argüman sayısı tip parametrelerin sayısına eşittir yöntemin

Bu madde bir genel olmayan yöntem açık tür bağımsız değişkenleri malzemeleri bir çağırma potansiyel uygulanabilir olduğu anlamına gelmektedir. Gerçekten de uygulanabilir olduğu ortaya çıkabilir. Böyle bir durumda, argümanları basitçe yok sayılır.

İlgili konular