关于抽象类的newInstance()?

时间:2016-04-20 21:15:18

标签: java android android-fragments abstract-class

我有一个抽象的Fragment类(称之为A)和一个扩展它的Fragment类(称之为B)。我在制作B类对象时最初调用newInstance,但我想知道如何为类A做类似的事情,因为我有一些默认参数我想为A类保存(通过存储值在一个参数Bundle)。但由于抽象类无法实例化,我不确定如何保存这些默认值。

1 个答案:

答案 0 :(得分:1)

这样做声明一个对象foo作为对A的引用,所以你可以使用抽象类中的所有元素,然后如果需要任何B特性,你将它转换为B,这是有效的,因为B扩展了A

A foo = new B()
foo.aMethodFromA();
((B)foo).aMethodFromB();