实现java中接口和抽象类中存在的方法

前端之家收集整理的这篇文章主要介绍了实现java中接口和抽象类中存在的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图理解如果抽象类和接口中都存在方法会发生什么.下面,我发布了一个场景,让您清楚地了解我所指的是什么.

interface act
{
    void read();
}

abstract class enact
{
    void read() {
        System.out.println("hello");
    }
}

public class second extends enact implements act  
{
    public void read() {

        // does method read() correspond to  Interface or abstract class?
    }
}

令人惊讶的是,编写此代码时没有编译错误.任何建议都会非常有帮助.

最佳答案

I am just curIoUs to know whether the method read() relates to interface or abstract class

或者,不是,真的.它取决于您实际使用它的上下文中的表观类型.例如.你是否这样做

enact example = new second();

要么

act example = new second();

两者都允许您编译代码

example.read();

因为read()方法是以两种表观类型定义的,即act和enact.但在这两种情况下,它都是“第二”类中定义的read()定义才是真正重要的.这就是被执行的东西.

猜你在找的Java相关文章