Temel sınıfları genişleten bir grup sınıfa sahibim. Temel sınıf bir yöntem diyelim etti:java Generics - Çocuk sınıfı tipini ve süper sınıfı tanıyan çocuk aşırı yüklenmiş yöntem nasıl çağırılır
doStuff1(int variable){ do something;}
Bu sınıfların her biri bir sahiptir: Başka bir sınıfta
doStuff1(String string) {convert string to number and call super.doStuff1(intResult)};
, yöntem ben böyle bir şey var:
public void bla(Class<?> childClass, SuperClass childClassInDisguise) {
(childClass.cast(childClassInDisguise)).doStuff1(myString);
}
Yapamam Bu nedenle derlemek: doStuff1 (myString) yöntemi, # 17-türü yakalama türü için tanımlanmamıştır?
Burada yanlış olan ne yapıyorum? Bu mümkün mü?
Teşekkürler. derleyici Buna temsil ettiği sınıf bilmiyorum
(belki ilgisiz) Her bir çocuk sınıfına uygulayacaksanız, neden bunu soyut yapmıyorsunuz? Ayrıca: Ben bu tür bir döküm görmedim (çalışmadığını söyleyerek); Neden klasik '((SuperClass) childInDisguise) .doStuff1 (myString);'? – dquijada
Temel sınıfın bir yöntemi olan doStuff1 (String)? –
'' '(childClass.cast (childClassInDisguise))' '', SuperClass olmayan bir nesneyi döndürür. ("
Joseph