Ich habe einige seltsame Requirment ich dynamisch eine Klasse laden müssen,Dynamische Klasse Laden in Java
hier habe ich ein Interface
public interface House
{
public Object loadHouseModel(String type);
public Object loadHouseSpace(String type);
}
nun die gewünschte Klasse diese Schnittstelle
public class DuplexHouse implements House
{
public Object loadHouseModel(String type)
{
///Method body goes here
}
public Object loadHouseSpace(String type)
{
///Method body goes here
}
}
wird implementieren
Jetzt ist meine Anforderung, dass ich laden muss DuplexHouse
oder was auch immer die Klasse, die House
Anforderung ist, dass DuplexHouse
Klassenname ich es von Eigenschaften erhalten werde und alles, was ich weiß, ist der Klassenname, den ich bekomme Implementieren Sie die House
Schnittstelle. so sieht mein propertie wie diese type_house=xx.xx.xxx.DuplexHouse,xx.xx.xx.TruplexHouse,..etc
nach Art des Hauses Based ich laden müssen Haus Objekt
Also in meinem Hauptklasse Class cl = Class.forName(xx.xxx.xxx.DuplexHouse);
Mein requirment ist, ich will House
Instanz entspricht, die DuplexHouse
hält intern Objekt Wie kann ich das tun ??
Was müssen Sie mit dem 'Class' Objekt tun? Ist etwas, was Sie daran hindert, 'House House = new DuplexHouse()' zu instanziieren? –
Verwenden Sie Generika für alles, was Interface-Verwendung implementiert wie 'ClassName' –
emotionlessbananas
@TimBiegeleisen Ich kann 'House' mit 'DuplexHouse' nicht instanziieren, weil' DuplexHouse' nicht weiß, wann ich diesen Klassennamen von der Eigenschaft nehme. Alles, was ich weiß ist, dass 'DuplexHouse'' House' implementiert – Babel