为超类构造函数调用子类方法

时间:2014-12-10 01:45:18

标签: java

我有一个超类Class和一个子类SubClass。我们的老师要求我们将所有依赖于班级的方法放在Class中,将所有独立方法放在SubClass中。例如,我需要在SubClass中使用搜索和排序方法。

但是,在main中,我使用的数组列表是使用Class构造函数定义的,它不允许我从SubClass调用方法来搜索/排序。

我该如何解决?

请记住,搜索和排序需要在子类中。我不能把它们放在超级课程中,这样程序就能运作。

谢谢!

2 个答案:

答案 0 :(得分:2)

唐'吨。这是个糟糕的主意。因为当你在super构造函数中时,子类还没有被实例化。相反,您必须完成实例的构造。然后,您可以使用变量引用调用该方法。

答案 1 :(得分:0)

仅用于解决手头的问题。您可以在子类中调用超类构造函数并实例化子类对象。这将允许您实例化子类对象,您可以进一步调用您的排序等。

public class SuperClass {
   //definition
}
public class SubClass extends SuperClass { 
  SubClass(//arg) { 
    super(//arg) 
  }
}