# Klassennamen ermitteln



## sousou (23. Feb 2010)

Hallo zusammen,


Ich hab eine Aufgabe die heisst:

a. Ein Objekt kann den Name seiner Klasse erfahren, schreiben Sie eine Methode und zum Array den Klassennamen bestimmen
String meinKlassename (String[]){
…
}


Also beispielweise Ich hab eine Klasse die heisst Nudeln und  in der Klasse ist die Methode String meinKlassename sprich insgesamt so:

class Nudeln {

Nudeln objekt = new Nudeln();

String meinKlassename (String[]){
…
}

}


Wie die Klasse heisst soll ich also mit dem Objekt ermitteln, ist hiermir das objekt String oder das selbst erstellte objekt genannt? Bzw. wie kann man denn den Namen ermitteln. Komische frage *~*

LG


----------



## eRaaaa (23. Feb 2010)

Stirng[] .. <-- da fehlt der Bezichner?!

Ansonsten suchst du wohl die Methode [c]getClass()[/c]


----------



## sousou (23. Feb 2010)

danke, Ich habs jetzt mal so versucht:



```
class Hund {
    
   Hund objekt = new Hund();
   
       String meinKlassenNamen(){
         String name = "";
         System.out.println(objekt.getClass());
      
         return name;
      
      }
      
   	public static void main (String[] args ) {
   	Hund objekt2 = new Hund();
   	
   	objekt2.meinKlassenNamen();
   	
   	}
   
   
   }
```




```
class Hund {
   
   
       String meinKlassenNamen(){
         String name = "";
         System.out.println(name.getClass());
      
         return name;
      
      }
      
   	public static void main (String[] args ) {
   	Hund objekt = new Hund();
   	
   	objekt.meinKlassenNamen();
   	
   	}
   
   
   }
```

klappt beides nicht so...


----------



## eRaaaa (23. Feb 2010)

zweite klappt doch oder nicht?

```
class Hund {

    String meinKlassename(String[] a) {
	return a.getClass().getSimpleName();
    }
    
    String meinKlassename(String a) {
	return a.getClass().getSimpleName();
    }
    
    String meinKlassename() {
	return this.getClass().getSimpleName();
    }
    
    public static void main(String[] args) {

	System.out.println(new Hund().meinKlassename(new String[]{}));

	System.out.println(new Hund().meinKlassename(""));

	System.out.println(new Hund().meinKlassename());
    }
}
```


----------



## Atze (23. Feb 2010)

```
class Hund {

	public String meinKlassenNamen() {
		return this.getClass().toString();
	}

	public static void main(String[] args) {
		Hund objekt = new Hund();
		System.out.println(objekt.meinKlassenNamen());
	}
}
```


----------



## Final_Striker (23. Feb 2010)

```
public class Hund{
	
	public void meinenKlassenNamenAusgeben(){

		System.out.println(this.getClass());
	}

	public static void main(String[] args){

		Hund hund = new Hund();

		hund.meinenKlassenNamenAusgeben();
	}
}
```

edit: mist, zu spät


----------



## Gast2 (23. Feb 2010)

Bei einem Array ist evtl noch der Klassenname der Klassen im Array interessant:


```
public class Test {


	
	public Test(){
		
		
	}
	
	
	public static void main(String[] args){
	
		Test test = new Test();
		Class clazz = test.getClass();
		System.out.println(clazz.getName());

		// bei einem Array

		String[] testArray = new String[1];
		clazz = testArray.getClass();
		Class componentClazz = clazz.getComponentType();
		System.out.println(componentClazz.getName());

	}
}
```


----------



## ARadauer (23. Feb 2010)

sousou hat gesagt.:


> ```
> String meinKlassenNamen(){
> String name = "";
> System.out.println(objekt.getClass());
> ...


:toll:


----------



## nrg (23. Feb 2010)

lol ARa. manchmal bist du echt gemein


----------



## Landei (23. Feb 2010)

```
String meinKlassenNamen(){
     String name = "";
     System.out.println(objekt.getClass());
     BufferedImage image = Desktop.makeScreenshot();
     OCRScanner scanner = OCRTools.getDefaultOCRScanner();
     scanner.setImage(image);
     BufferedImage consoleImage = scanner.findSubImage("Java Console"); 
     scanner.setImage(consoleImage); 
     name = scanner.getLine(0);
     return name;      
}
```


----------



## Atze (23. Feb 2010)

hehe


----------

