# java.lang.InstantiationException



## noisebreath (16. Jun 2009)

Hi 

kriege wie im titel erwähnt eine "java.lang.InstantiationExceptionackagename.AlgorithmManager_Text2Onto" in meiner function:

```
public Object getReflectedClass(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException{
		Class a;
		anObject = new Object();
		a = Class.forName(className);
		anObject = a.newInstance();//fehler hier
		return anObject;
	}
```

weiss jemand warum?


----------



## maki (16. Jun 2009)

> weiss jemand warum?


Weil es einen Fehler gab 

Wenn du uns die Fehlermeldung liefern würdest, könnte man vielleicht mehr sagen...


----------



## bygones (16. Jun 2009)

API lesen

Thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the specified class object cannot be instantiated because it is an interface or is an abstract class.


----------



## noisebreath (16. Jun 2009)

AHA! ^^
naja es ist kein interface oder abstract aber es implementiert ein interface. ist das vielleicht das problem?


----------



## Der Müde Joe (16. Jun 2009)

>ist das vielleicht das problem? 



> has no nullary constructor;



EDIT:
Class (Java Platform SE 6)


----------



## noisebreath (16. Jun 2009)

aso genau. wie macht man nochmal n constructor argument dazu?


----------



## Der Müde Joe (16. Jun 2009)

Constructor (Java Platform SE 6)


----------



## noisebreath (16. Jun 2009)

hab das jetzt so geschrieben:

```
public AlgorithmManager getReflectedAlgorithmManager(String className,URI uri) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, NoSuchMethodException{
		Class<?> a = null;
		Constructor constructor;
		constructor = a.getConstructor(URI.class);

		AlgorithmManager anObject = (AlgorithmManager) constructor.newInstance(uri);
		return anObject;
	}
```

kanns grad nicht testen. ist das oki so? wahrscheinlich nicht hm?! ^^


----------



## noisebreath (16. Jun 2009)

fehlt natürlich noch die zeile 
a = Class.forName(className);


----------



## Der Müde Joe (16. Jun 2009)

sollte passen.

btw.
was spricht gegen new oder ne factory?


----------



## maki (16. Jun 2009)

> btw.
> was spricht gegen new oder ne factory?


Oder gar einen ServiceProvider wenn man schon OSGi nutzt...


----------

