是否可以在抽象类中声明接口(interface)?我尝试了这个,我成功地做到了,没有任何编译错误?在实际使用中这有什么意义吗?
这是我编写的代码。
public abstract class X
{
public interface abc extends I1
{
public void sum(int i,int j);
}
}
public class Impl extends X
{
class InnerImpl implements abc
{
@Override
public int sum(int i, int j)
{
return i+j;
}
}
}
public interface I1
{
}
最佳答案
您可以在任何类中声明接口(interface),而不仅仅是抽象类。该接口(interface)是隐式静态
的,因此您的封闭类仅提供命名空间范围,与接口(interface)无关。
它的实用性确实存在,并且我已经在很多场合使用过它。通常,该接口(interface)耦合到同一类的方法,因此客户端可以将该接口(interface)的实现传递给该方法。
随着 Java 8 和函数式接口(interface)类型的出现,本地接口(interface)的数量只会增加。
关于java - 抽象类中的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23008433/