【发布时间】:2017-03-26 11:53:47
【问题描述】:
我有一个父类和几个子类。在我的代码的某一时刻,我需要使用子类的属性,但我需要将其声明为父类。我该怎么做?
我这样实例化它:
Parent oObj = new SonN();
在某些时候我需要使用孩子的一个属性:
oObj.sonAttribute = x
我这样做是因为我使用的是片段。在每个片段中,oObj 将是一个不同的子对象,我需要从主 Activity 访问该对象并使用 oParent 方法。
我的所有片段都继承自包含此对象的父片段:
public class FragmentParent extends Fragment {
public Parent oObj;}
【问题讨论】:
-
除非您检查其实例类型并对其进行类型转换,否则您不能这样做。显然,您可以访问父级的属性。
-
多态性仅适用于 java 中的方法。所以无法通过超类引用访问子类属性。
标签: java android android-fragments inheritance android-activity