假设有一个代码:
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
答案 0 :(得分:9)
不,没有。这是多余的。 AbstractSample 是示例,MySample 是 AbstractSample。所以MySample 是一个样本。
无论您是否添加implements Sample
,javadoc都会显示所有已实现的界面。
答案 1 :(得分:4)
如果将AbstractSample更改为不实现Sample,则第一个声明仍然允许您将MySample的实例传递给期望Sample的方法。