java – 为什么抽象方法必须由第一个具体的类实现,而不是一个进一步的链?

前端之家收集整理的这篇文章主要介绍了java – 为什么抽象方法必须由第一个具体的类实现,而不是一个进一步的链?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很好奇为什么抽象方法必须被第一个具体的实现类覆盖,而不是层次结构的更改.

我不是建议我想这样做,但我很好奇为什么它必须是一流的

考虑这个例子

abstract class Upper
{
    abstract void doSomething();
}

class Middle extends Upper
{
    void doSomething()
    {
       // I'm forced to be implemented here
    }
}

abstract class Lower extends Middle
{

}

class Bottom extends Lower
{
    void doSomething()
    {
        // I'm valid,but I'm too far down the hierarchy
    }
}

解决方法

根据定义,普通类必须实现所有抽象方法.如果你要声明中抽象,那么你不必在Middle中实现这个方法.

一个普通的类可以实例化,而抽象类不能.想想如果您尝试调用在类中未实现的方法会发生什么.

猜你在找的Java相关文章