对比学习

重写与重载

重载:

重载定义:Java中允许一个类文件中出现多个方法名相同,但是参数列表不同的同名方法。
要求:方法名相同,形参列表不同。(个数不同,类型不同,顺序不同)
目的:让方法在接收不同参数的时候实现不同功能。

重写:

重新定义:发生在继承的过程中,子类对父类方法的实现细节进行重新定义。
重写规则: 1、不能降低访问权限,只能扩大访问权限。例如父类是protected修饰符,子类不能private ,但可以public
2、有private和final修饰的方法不能被重写。
3、重写方法的时候,抛出异常只能是父类抛出异常相同或更广泛
4、重写方法返回值类型可以是父类返回值类型的子类型。
即可以缩小返回值类型的范围,但不能扩大。父类返回father,子类返回son(son继承father)

throw和throws

throws:

声明位置:方法名之后。例如public void test1() throws NullPointerExeption{…}
作用:通知开发人员当前方法运行时,有可能抛出的异常。
携带数据:后面携带的是异常类型,一个throws后面可携带多个异常类型。
调用:当一个方法被throws修饰时,调用方法必须考虑异常捕捉。

throw:

声明位置:方法的执行体。例如public void test1(){ … ; throw new RuntimeExweption(); …}
作用:是一个命令。执行时抛出一个指定的异常对象
携带数据:携带异常对象,一个throw只能携带一个异常对象
调用:当一个方法内部有throw命令时,在调用时可以不考虑异常捕捉。

抽象类和接口

接口

定义:由interface修饰,是一种特殊的文件
作用:指定规则,降低耦合度。
规则: 接口中的属性都是静态常量属性
接口中的方法都是抽象方法,如果需要定义具体的方法实现,需要default修饰
接口中方法的访问权限不能是private
接口与接口之间可以实现多继承
接口无构造方法

抽象类

定义:由abstract修饰
作用:降低接口实现类与接口之间的实现难度。用接口的话,就一定要实现接口里所有方法,增加难度。(重要
可以用抽象类实现接口,具体使用的类继承此抽象类。
(注:抽象类实现接口,可以不对接口中的方法进行重写,抽象类未重写的方法,必须由抽象类的子类负责实现。)
使用规则: 抽象类既可声明抽象方法,又可声明具体方法
抽象类声明抽象方法必须由子类进行重写
抽象类实现接口时,无需对接口里的方法进行重写
抽象类有构造方法。(只是摆设,因为不能创建实例)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值