class Parent
{
def m1()
{
System.out.println("m1 method");
}
}
abstract class Child extends Parent
{
def m1()
}
上面的代码成功编译,我的问题是:
为什么Parent
类允许Child
类将m1()
方法作为抽象方法?
我们会在哪里使用这种情景?
答案 0 :(得分:1)
现在,您可能希望创建父类的多个变体。现在Parent类是一个具体的类,很难实现它。因为您可以尝试将父项设为抽象,然后提供实现。但是如果在你的大代码库的几个地方使用具体类,你别无选择,只需按照以下步骤进行操作。
因此,策略是创建抽象子,如下所示
abstract class Child extends Parent
{
def m1()
}
class SpecialChild extends Child {
//.. some implementation of m1
}
现在我们仍然可以使用原来的孩子
child = new SpecialChild();
希望这是有道理的。