Jeg har lavet følgende kode:
package Test;
public class SuperClass {
protected int value;
}
package Test;
import java.lang.reflect.Field;
public class SubClass extends SuperClass {
private int v;
public SubClass(byte number)
{
v = number;
value = 2 * v;
}
public int getValue()
{
return value;
}
public int getV()
{
return v;
}
public SuperClass getSuperClass() throws IllegalArgumentException, IllegalAccessException
{
SuperClass sc = new SuperClass();
Class<?> c = sc.getClass();
for (Field f : c.getDeclaredFields())
{
f.set(this, f.get(this));
}
return sc;
}
}
Det fungerer ganske som det skal. Men nu vælger jeg så at lave SuperClass om til en abstract class. Hvad skal jeg så ændre i min getSuperClass metode for at kopiere SuperClass fields, eftersom jeg jo ikke kan instantiere et objekt længere?
Indlæg senest redigeret d. 10.09.2009 15:38 af Bruger #12726