Java 扩展抽象类的类是否需要接口?抽象类是否已经实现了接口?

Java 扩展抽象类的类是否需要接口?抽象类是否已经实现了接口?,java,interface,abstract-class,Java,Interface,Abstract Class,假设有这样一个代码: package com.ps.Sample; public interface Sample { public void Method1(); } public abstract class AbstractSample implements Sample { public void Method1() { System.out.println("Hello World"); } } public class MySam

假设有这样一个代码:

package com.ps.Sample;

public interface Sample
{
    public void Method1();
}

public abstract class AbstractSample implements Sample
{
    public void Method1()
    {
        System.out.println("Hello World");
    }
}

public class MySample extends AbstractSample
{

}

public class TestSample
{
    public static void main(String[] args) 
    {
        Sample my = new MySample();

        my.Method1();
    }

}
我的问题是: 将具体类声明为

public class MySample extends AbstractSample implements Sample
而不是

public class MySample extends AbstractSample 

不,没有。这是多余的。AbstractSample是一个示例,MySample是一个AbstractSample。因此,MySample就是一个示例


不管您是否添加了
implements示例,javadoc都会显示所有已实现的接口。

一个好处是,如果将AbstractSample更改为not implement示例,第一个声明仍然允许您将MySample的实例传递给需要示例的方法。

注意:抽象类实现了接口。请尝试使用Person类来解释它,例如。。我们不需要说老师就是沃克,因为老师就是人,人就是阿雷迪·沃克。IMO使用示例来解释它根本无法显示冗余。您只是这样做了:-)我使用了与OP相同的类名。