
接口继承不扩展方法的意义
在一个场景中,我们遇到如下代码:
interface a {
void xx();
string yy();
}
interface b extends a {
}对于 java 初学者来说,一个疑问油然而生:既然接口 b 继承了所有 a 的方法,在后续扩展中可以直接使用 a,那么创建 b 有什么意义?
其实,b 继承 a 不仅仅只是方法的继承,还意味着:
类型标记
b 的存在给出了一个类型标记。对于从 b 派生的类型,可以在类型过滤时派上用场。例如,我们可以编写代码:
List<A> listA = new ArrayList<>();
List<B> listB = new ArrayList<>();
if (listA instanceof List<B>) {
// 类型转换安全
}如果没有 b 接口,类型过滤将变得困难,因为 a 中的方法会在 list 和 list 中都可用。
通过引入 b 接口,我们可以用它来标记具体派生类型,以便在运行时更精确地进行类型检查和转换。
以上就是继承接口但不扩展方法的意义何在?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号