Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

private-Methoden zählen

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

kurz und knapp.

Gibt es eine Möglichkeit, sich einen Rückgabe-Wert für den Typ einer Methode geben zu lassen (zum Beispiel 1 für public, 2 für private oä)?

In einem kleinen Projekt benötige ich nämlich nur die Anzahl von private-Methoden. Der Zählvorgang an sich steht schon.

Auf die schnelle habe ich nichts gefunden.

Ich muss vielleicht erwähnen, dass ich erst ein viertel Jahr mit JAVA zu tun habe und deswegen noch dabei bin, mein Wissen aufzubauen :-)

Danke!

Viele Grüße

Thomas

Gibt es eine Möglichkeit, sich einen Rückgabe-Wert für den Typ einer Methode geben zu lassen (zum Beispiel 1 für public, 2 für private oä)?
Ja, gibt es. Dein Stichwort heisst Reflection.

Wenn du allerdings gerade erst mit Java angefangen hast dürfte das alles andere als einfacher Stoff sein - das ganze ist recht komplex, dafür aber auch recht komplex.

  • Autor

Dankeschön :-)

Naja irgendwann ist immer das erste Mal.

Ich werde mich damit mal etwas beschäftigten und wenn ich weitergekommen bin, melde ich mich nochmal ^^

das ganze ist recht komplex, dafür aber auch recht komplex.
Was habe ich da eigentlich für einen Mist geschrieben? ;-)

Ich meine natürlich "recht leistungsfähig, dafür aber auch recht komplex".

Wieso guckst du nicht einfach kurz vor einem solchen Posting in die API?

Nein, es werden nicht nur public Methoden unterstützt.

Danke für diesen netten Hinweis.

Aber Du hast Recht, ich habe mich nicht direkt informiert. Ich hab nur meine Erfahrung beim Implementieren eines eigenen XML-Serializers gesprochen.

Im besondern Fall der privaten Methoden geht das und ist weder komplex noch schwierig.

Einfach einen Aufruf auf Method[] getDeclaredmethods() und das Array durchlaufen und mittels Modifier.isPrivate(Method.getModifiers()) testen.

Mein Fehler war protected overriden und private Methoden zu verwechseln.

  • Autor

@VaNaTiC:

Ich habe deinen Vorschlag mit .getDeclaredmethods ausprobiert und funktioniert genau so, wie ich es haben wollte - und nicht kompliziert :cool:

Danke :)

  • Autor

Das ist der kleine Abschnitt, welcher alle meine Probleme gelöst hat. Hab ich leider nur ganz vergessen zu posten ;)


[...]
Method[] methods = classe[i].getDeclaredMethods();
if(methods[i].getModifiers()==1)
{
methodnumber++;

}

numberofmethodsvalue.setCellValue(methodnumber);
[...]
[/PHP]

if(methods.getModifiers()==1)
Magic number --> böse!

Viel besser:

if(Modifier.isPrivate(methods.getModifiers()))

Mein Fehler war protected overriden und private Methoden zu verwechseln.
Auch overriden protected lässt sich über Reflection herausfinden

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.