zoukankan      html  css  js  c++  java
  • Java: 子类和父类实现相同的接口 (转)

    在阅读ArrayList源码的时候看到ArrayList 和 AbstractList 两个类的声明都分别实现了List的接口

    public class ArrayList<E> extends AbstractList<E>
            implements List<E>, RandomAccess, Cloneable, java.io.Serializable
    
    
    public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

    可是ArrayList本身就继承自AbstractList,为什么养这样呢?
    然后就张网上搜索了一下,发现有下面几个观点:
    1 存粹是为了提高代码的可读性
    2 子类再次实现父类实现的接口是为了强制子类重写父类中实现的所有接口中的方法
    3 还有一种观点来自下面,如果子类不再单独实现呢一下接口java.lang.Class直接获取子类类的接口为空数组,这样要做一些动态代理操作的时候无法操作,所以也有可能是这样的原因而重新继承了接口。

    参考链接:

    1. https://blog.csdn.net/qq_37390527/article/details/105419242

    2. https://www.cnblogs.com/bluejavababy/p/4320545.html

  • 相关阅读:
    常用CDN
    SQL语句小结
    jQuery源码解析----domManip
    服务治理 SpringCloud Eureka
    docker容器操作
    docker镜像操作常用命令
    Maven
    Centos6解决网络不可达
    MyBatis
    SpringMVC
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/15739961.html
Copyright © 2011-2022 走看看