2

假设有这样的代码:

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 
4

2 回答 2

9

不,那里没有。这是多余的。AbstractSample是一个样本,而 MySample是一个AbstractSample。所以 MySample是一个样本。

无论您是否添加,javadoc 都会显示所有已实现的接口implements Sample

于 2012-05-18T21:17:35.757 回答
4

一个好处是,如果将 AbstractSample 更改为不实现 Sample,则第一个声明仍允许您将 MySample 的实例传递给期望 Sample 的方法。

于 2012-05-18T21:17:54.547 回答