# name der klasse ausgeben



## H2SO3- (4. Nov 2009)

Hallo ich suche eine möglichkeit an den Namen der aktuellen klasse heranzukommen. Jedoch nicht innerhalb einer methode sondern als globale Variable.

quasie ähnlich wie (weiß so geht es nicht)


```
public class meineClassXY
{
      private String className = getClass().getName();

      public void eineMethode()
      {
           System.out.println(className);
      }
}
```

hätte gedacht es würde mit this. gehen, jedoch leider nicht. Auch der Classloader hilft nicht wirklich weiter.


----------



## SlaterB (4. Nov 2009)

was geht an dem Beispiel denn nicht? sieht für mich gut aus
und was genau hast du mit this vor was auch nicht geht?


----------



## H2SO3- (4. Nov 2009)

sorry, das beispiel war etwas falsch. Man sollte halt doch code nicht hier schreiben sondern in eclipse und hierher kopieren

der code müsste heißen



```
public class meineClassXY
{

    private static String className = getClass().getName();
    
    public static void eineMethode()
    {
         System.out.println(className);
    }
}
```

muss an den namen aus static methoden heraus zugreifen


----------



## SlaterB (4. Nov 2009)

eine statische Methode kennt nur sich selber oder andere statische Dinge,
vererbende Klassen usw. geht nicht,
wenn ein Objekt die Methode aufruft, könnte es sich selber als Parameter übergeben


----------



## faetzminator (4. Nov 2009)

statisch wärs [c]private static String className = MeineClassXY.class.getName();[/c], aber das kannst du von überall aufrufen.


----------



## Spacerat (4. Nov 2009)

Was genau soll denn da nicht gehen? Meinst du das ungefähr so?
	
	
	
	





```
public class EineKlasse
{
  private final static String className = EineKlasse.class.getName();

  public static void eineMethode()
  {
    System.out.println(className);
  }
}
```
Prinzipiell ist das alles in allem recht überflüssig, denn, wie faetzminator schon ausgeführt hat, kann man an jeder Stelle in der Anwendung wann immer man will [c]System.out.println(object.getClass().getName());[/c] aufrufen. Will man den Klassennamen ohne die Pakethierarchie tut's auch [c]System.out.println(object.getClass().getSimpleName());[/c].


----------



## H2SO3- (4. Nov 2009)

ich will nich nur der namen, der soll teil einer id werden. hardcodiert will ich es nicht, falls sich die klassennamen mal ändern.

Aber danke für eure ideen


----------

