public interface Expression {
}
public interface ArithmeticExpression extends Expression {
}
public class StaticMethodDemo {
public static void print(Expression e) {
System.out.println("StaticMethodDemo");
}
public static List<Expression> convert(
Collection<? extends Expression> input) {
return null;
}
}
public class StaticMethodChild extends StaticMethodDemo {
public static void print(ArithmeticExpression e) {
System.out.println("StaticMethodChild");
}
public static List<ArithmeticExpression> convert(
Collection<? extends ArithmeticExpression> input) {
return null;
}
}
Yukarıdaki kod java 5'te derlenmiyor ama java 7 değil neden? Java 7'de "İsim çatışması" verir: StaticMethodChild türünün dönüştürülmesi (Toplama) yöntemi, StaticMethodDemo türündeki dönüştürmeyi (Koleksiyon) aynı silme işlemine sahiptir ancak gizlemez "Adı Çarpışma derleme java 7 derlendiğinde derleme hatası ancak java'da düzgün çalışıyor 5
Açıklama için teşekkür ederiz. Şu anda, Java 7'ye geçiş yaptığımız ve çok sayıda sınıfın bu soruna sahip olduğu bir proje üzerinde çalışıyorum. Bunun dışında, farklılıkları olan yöntemlerle de sorun yaşıyorum. – Dragon
Hataların kaynağı olduğu için bu sınıfları kesinlikle yeniden düzenlemelisiniz. –