首页 > 解决方案 > 抽象类中的具体方法和接口中的默认方法同名

问题描述

我已经在同名的抽象类中声明了默认方法和具体方法。

public class AbstractClassDefaultMethodTest   {
    public static void main(String[] args) {
        DemoInterface testDefaultMethods=new TestDefaultMethods();
        testDefaultMethods.display();
    }
}
abstract class DemoClass{

    public void display()
    {
        System.out.println("Inside display method of abstract class");
    }
}

interface DemoInterface{

    public default void display()
    {
        System.out.println("Inside display method of interface");
    }
}

class TestDefaultMethods extends DemoClass implements DemoInterface
{

}

为什么抽象类的具体方法被调用?为什么我们没有收到编译时错误,因为两个方法名称都相同?

标签: javajava-8interfaceabstract-classdefault-method

解决方案


推荐阅读