Java: Selbst für statische Methodenaufrufe innerhalb der gleichen Klasse
Ist es möglich, etwas zu tun, wie self::
in PHP nicht brauchen, um die Klasse zu definieren-name tro aufrufen einer statischen Methode in der gleichen Klasse. Sehen Sie, wie ich es mache:
public class Foo
public static void blaa() {...}
public void foobar
{
Foo.blaa();
}
aber ich möchte es gerne
public class Foo
public static void blaa() {...}
public void foobar
{
_SOME_SORT_OF_SELF_.blaa();
}
nicht schreiben muß der Klassenname immer und immer wieder...
dasselbe würde für statische Attribute. Anstelle der Verwendung von Foo.MY_ATTR
vielleicht der Zugriff über _SOME_SORT_OF_SELF_.MY_ATTR
.
Möglich?
Dank
- Sie wissen, verwenden Sie kein Präfix, es wird funktionieren.
- Sie können
blaa()
. Ohne Präfix. Ich finde es übersichtlicher, die mit Foo.blaa(), aber du bist nicht gezwungen werden, fügen Sie den Namen der Klasse, wenn es die aktuelle Klasse. - oh gut, wusste nicht, dass. danke. aber ja, es macht es ein wenig klarer, um das hinzufügen des class-name. aber ich würde noch mehr, wie er über sich selbst. Gleiche gilt für Attribute, nehme ich an?
- Ja, das gleiche gilt für Attribute. Nicht Finale statische Attribute sind ein design-Geruch, obwohl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie versuchen, rufen Sie ein
static
Methode innerhalb der Klasse definiert, Sie brauchen nicht zu geben Sie den Typ. (Die Regeln auch etwas kompliziert mit verschachtelten Klassen).Zum Beispiel Methoden und Variablen, die Sie verwenden können, die
this
Schlüsselwort in Ihrem Bereich Zugang und method invocation expressions.