Forum: PC-Programmierung For Schleife über alle Klassen


von Stefan (Gast)


Lesenswert?

Hallo zusammen,

für Methoden gibt es ja die Möglichkeit mithilfe von
1
Method m : Klassenname.class.getMethods()

über alle Methoden zu iterieren.

Nun bräuchte ich noch eine Schleife um über alle Klassen zu iterieren. 
Gibt es da eine Möglichkeit?

Lg
Stefan

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Stefan schrieb:
> Nun bräuchte ich noch eine Schleife um über alle Klassen zu iterieren.

Welche Programmiersprache? Im allgemeinen geht das nicht, wie auch, die 
Menge der Klassen ist nicht begrenzt. Du kannst dir natürlich ein 
Hilfsarray machen, ein Skript dafür erstellen und/oder den 
Ordner/Container welcher die Klassendateien enthält durchsuchen.

von Stefan (Gast)


Lesenswert?

Programmiersprache ist Java. Ich darf aber auch nicht wirklich Arrays 
verwenden. Ist zwar ziemlich sinnlos das ganze, aber was solls.

Kann man nicht irgendwie über das Package iterieren?

Lg
Stefan

von Markus M. (mark_m)


Lesenswert?

Du kannst nicht über Klassen iterieren. Klassen sind nur Baupläne mit 
den Du Objekte generieren kannst.

Diese Objekte kannst Du wiederum wie Datentypen behandeln und in 
Datenstrukturen verwalten (Array, Liste, Set, Tree). Über diese 
Datenstrukturen kannst Du dann nach belieben iterieren.

von Stefan (Gast)


Lesenswert?

alles klar!

danke für die infos.

LG
Stefan

von Arc N. (arc)


Lesenswert?

Stefan schrieb:
> Programmiersprache ist Java. Ich darf aber auch nicht wirklich Arrays
> verwenden. Ist zwar ziemlich sinnlos das ganze, aber was solls.
>
> Kann man nicht irgendwie über das Package iterieren?
>
> Lg
> Stefan

http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/Instrumentation.html#getAllLoadedClasses()

Returns an array of all classes currently loaded by the JVM.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Arc Net schrieb:
> Returns an array of all classes currently loaded by the JVM.

Bringt aber nix, weil das nur die sind welche irgendwer schon mal 
geladen hat, heißt aber nicht, dass es nicht noch mehr geben könnte 
außerdem ist das eher für Profiler gedacht.

Stefan schrieb:
> Kann man nicht irgendwie über das Package iterieren?

Nein wie sollte das gehen? Schau dir den Classloadermechanismus an, eine 
Klasse könnte dynamisch nachgeladen werden (z.B. über das Netz), oder 
sogar zur Laufzeit konstruiert werden, es gibt einfach nicht "alle 
Klassen"

Stefan schrieb:
> Programmiersprache ist Java.

Da du leider nicht schreibst was dein "Plan" ist kann man nur mutmaßen, 
es wäre z.B. möglich, wenn alle Klassen die dich interessieren in einem 
JAR liegen über dieses mittels der normalen Javafunktion das 
Inhaltsverzeichnis zu lesen und darüber auf die vorhandenen Klassen zu 
schließen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.