Bu, tür silme işleminin bir sonucudur. Bayt kod düzeyinde, genel imzalar, JVM'nin yöntem dağıtımı için kullanılmayan, yalnızca yöntemlerin ek bir özniteliğidir. Gerçek bayt kod düzeyi imzası, tip değişkenin ilk türünden türetilmiştir, örn. T extends Number&Serializable
tür değişkeni için, ham imzanın T
yerine kullanılması Number
olacaktır. Bildirinizle için
,
public interface BaseService<T, ID> {
T findOne(ID id);
}
T
ve ID
Object
ile ikame edilir; Yöntemin silinen imzası Object findOne(Object)
. sildim imza Object findOne(Serializable)
olması uygulama yöntemini neden alt tip beyanı
public class BaseServiceImpl<T,ID extends Serializable> implements BaseService<T, ID> {
@Override
public T findOne(ID id) {
return null;
}
}
ID extends Serializable
silinen tip Serializable
olduğunu İçin
.
, yöntem
Object findOne(Object)
çağırarak, arayüz
BaseService
kullanarak bu kodu sağlamak için uygulama yöntemini bulacaksınız, derleyici imza
Object findOne(Object)
sahip ve
Object findOne(Serializable)
alelade heyetinin oluşan türünü gerçekleştiren bir
bridge method üretir gerektiğinde atmalarını.
Köprü yöntemini, Method
örneğinde isBridge()
numaralı telefonu arayarak tanımlayabilirsiniz.
Ayrıca, tür silme işleminin sonucu etkileme konusunda nasıl çalıştığını da kullanabilirsiniz.
public class BaseServiceImpl<T, ID extends Object&Serializable>
implements BaseService<T, ID> {
@Override
public T findOne(ID id) {
return null;
}
}
orada genel tür sistemi ile ilgili herhangi bir anlam fark ancak bunlarla beyan değiştirerek ID extends Object&Serializable
silinmesi Object
olacak, dolayısıyla, findOne
yöntemin elde edilen silme arayüzü silinmesi aynı olacaktır Bu nedenle, yöntem, bu durumda, hiçbir köprü yöntemine ihtiyaç duyulmayacaktır.
'Object' imzasının köprü yöntemi olarak işaretlenip işaretlenmediğini kontrol edebilir misiniz? – chrylis
@chrylis Evet, gerçekten öyle! Bu benim acil sorunumu çözüyor. Çok teşekkürler! Eğer bir cevabı birazcık daraltmak istiyorsan, onu kabul etmekten/kabul etmekten memnuniyet duyarım. – kaqqao
Köprü kurallarını uygun bir cevap yazmak için yeterince iyi anlamıyorum, sadece topladığım desene uyduğunu fark ettim. – chrylis