【发布时间】:2019-10-28 08:22:53
【问题描述】:
我是 Java 新手。最近我读到了内部接口,这让我很困惑:首先为什么要使用它们,其次为什么它们也可以被声明为私有而不是外部接口。在我看来,接口应该是公开的,以便所有人都可以使用。
【问题讨论】:
标签: java access-modifiers
我是 Java 新手。最近我读到了内部接口,这让我很困惑:首先为什么要使用它们,其次为什么它们也可以被声明为私有而不是外部接口。在我看来,接口应该是公开的,以便所有人都可以使用。
【问题讨论】:
标签: java access-modifiers
内部接口或嵌套接口的主要目的是对相似的事物进行分组。考虑集合中的 Map 接口。它有一个称为Entry 的嵌套接口。没有地图就不能存在条目,因此从逻辑上讲,将它们组合在一起是有意义的。另一方面,可能存在名称为 Entry 的其他接口,这将导致命名空间冲突。因此使用了嵌套接口。 要回答另一个问题,在任何情况下使用访问修饰符都是为了防止未经授权的访问。将嵌套接口设为私有将阻止其他开发人员以不希望的方式实现它们。 希望这会有所帮助。
【讨论】:
java内部接口的用途如下
嵌套接口可以声明为公共、私有或受保护的。 这与顶级接口不同。顶级接口必须声明为公共或使用默认访问级别。
在另一个接口的主体中声明一个内部接口。
public interface Items {
interface MyList {
}
}
在另一个类的主体中声明内部接口。
public class Items{
public interface MyList {
void add(Items items);
String getItesmNames();
}
}
最后,我们可以如下实现
public class SpecialItems implements Items.MyList {
}
当嵌套接口在其封闭范围之外使用时,它必须由它所属的类或接口的名称来限定。
【讨论】: