String child = "C";
Parent p = null;
try {
Class c1 = new Class.forName(child);
Constructor co = c1.getConstructor();
// p=co.newInstance(null); //This gives compilatoin error cannot
// conver object to Parent
// p=(c1.getClass())co.newInstance(null);//also gives cast errror
p = (Parent) co.newInstance(null);// this works but it typecasts the
// child to Parent
} catch (Exception e) {
}
我在做什麼。Java反射:動態創建類實例並將其分配給父對象
我有從父繼承的多個子類。我正在將子類名稱作爲字符串輸入。
我想實例化Child類的對象並將其分配給Parent。我不想輸入將孩子轉換爲父母。在後面的代碼中,我需要比較兩個Child類。如果我將它轉換爲Parent。我無法區分Child1和Child2。
你如何比較你的child1和child2? – Lynch
你可能想看看[Polymorphism](http://en.wikipedia.org/wiki/Polymorphism_(computer_science))。 –