kjetand Skrevet 11. mars 2014 Del Skrevet 11. mars 2014 Vet ikke om dette er mulig i Java (har ihvertfall ikke funnet noe lovende på nett), men går det an å gitt en metode finne hvilken klasse metoden ble definert i? F.eks. i koden nedenfor har klassen C både arvet foo() og foobar() som virtuelle metoder. Poenget er altså å finne hvor f.eks. foo() ble definert. Om foo() også hadde vært redefinert i B så er det altså klassen B jeg er ute etter. class A { void foo() { ... } } class B extends A { void foobar() { ... } } class C extends B { Class<?> getMethodClass() { return /* class of foo() */; } } På forhånd takk for hjelp! Lenke til kommentar
quantum Skrevet 11. mars 2014 Del Skrevet 11. mars 2014 Du må vel nøste deg oppover med this.getSuperclass() og se om du finner metoden din med getMethods() på hvert stopp langs veien opp til Object Lenke til kommentar
Lycantrophe Skrevet 11. mars 2014 Del Skrevet 11. mars 2014 Hvis dette skulle bety noe for deg er koden horribelt strukturert. Det er ikke noe som bør skje (eller være interessant) runtime. Om det er for å faktisk lese hvilken implementasjon som kjører i et tilfelle: følg hireariket oppover, enten manuelt, med grep eller en IDE. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå