java如何从父类创建子实例
我是Java新手,我正在创建几个类,但有一个问题我不知道如何从父类创建一个未知的子类。 例如,事实并非如此java如何从父类创建子实例,java,android,Java,Android,我是Java新手,我正在创建几个类,但有一个问题我不知道如何从父类创建一个未知的子类。 例如,事实并非如此 public class Father{ public static Father winstance = null; public Context context; public static <child extends Father> child getInstance(Context context) { if (winstance =
public class Father{
public static Father winstance = null;
public Context context;
public static <child extends Father> child getInstance(Context context) {
if (winstance == null) {
// here how have I to create child instance?
winstance = new child(context); // here I have "Cannot instantiate the type child" error
}
winstance.context = context;
return winstance;
}
public Father(Context pcontext) {
context = pcontext;
}
}
如何在父级中创建父级未知的子实例?我有几个基类需要这样做
谢谢你的帮助。为什么儿子扩展父亲?这没有道理。这是一个愚蠢的例子,它不是真实的案例,它可能是a而不是父亲,B而不是儿子。我想建立几个类和类基,我想做一些通用代码。我的问题是如何在父级中“新建”扩展自的未知子级?如果您使用泛型,则构造函数看起来类似:
V instance=(V)((Class)((ParameterizedType)this.getClass().getGenericSuperclass()).getActualTypeArguments()[0]).newInstance()
您需要类似的东西,但使用getSuperclass()
。感谢您的回复。我已经试过上面的代码,但是“this”子句我不能在静态方法中使用它。我想从父类创建一个子类。你能写下我如何处理我上面的例子吗。谢谢
class Son extends Father {
public Son(Context context) {
super(context);
// do something else
}
}
public Son son = null;
...
...
...
son = Son.getInstance(this);