博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java子接口方法覆盖父接口方法的思考
阅读量:6715 次
发布时间:2019-06-25

本文共 902 字,大约阅读时间需要 3 分钟。

接口List中继承接口Collection,接口Collection中存在size()方法,在接口List中又覆盖size()方法,意义何在?(覆盖了很多方法,见下图)

public interface List<E> extends Collection<E>

 

1.父接口和子接口都是抽象方法(未实现),子类没有改变父类的该方法,在功能层面的确是没有意义的。

2. 子类方法不能缩小所覆盖方法的访问权限和,但是接口里面的方法只能是public,所以子接口方法覆盖父接口方法不能改变方法的作用域。
    子类方法不能抛出比所覆盖方法更多的异常,所以子接口方法覆盖父接口方法不能改变方法可以改变方法的异常抛出。

3.子接口方法覆盖父接口方法更多是考虑到类的易读性,提醒使用者此处有这个方法。 

 

interface A {    void method() throws Exception;}interface B extends A {    void method();  //这里没有抛出异常}public class C implements B {    public static void main(String[] args)  {        A a=new C();        B b=new C();                //捕获A类method方法的异常        try {            a.method();        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        b.method();    }    @Override    public void method() {        System.out.println("method");    }}

转载于:https://www.cnblogs.com/lion88/p/4211141.html

你可能感兴趣的文章
alibaba.fastjson 乱序问题
查看>>
django 反向关联--blog.entry_set.all()查询
查看>>
网工之路
查看>>
linux 查看发行版本信息
查看>>
数据结构之二叉树遍历
查看>>
Linux rpm 命令参数使用详解[介绍和应用]
查看>>
tr的使用详解
查看>>
CentOS 6.4下PXE+Kickstart无人值守安装操作系统
查看>>
2.5 alias命令
查看>>
arp
查看>>
小博浅谈MVC
查看>>
前端技术学习之选择器(四)
查看>>
Ubuntu与windows的远程控制/远程桌面
查看>>
ssh-copy-id命令解析
查看>>
2016年4月4日中项作业
查看>>
女孩适合学习嵌入式吗?
查看>>
逻辑思维题
查看>>
Docker安装及基础命令
查看>>
ARP欺骗
查看>>
输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符...
查看>>