Overload和Override的区别

Overload
Overload是重载,重载是java多态的一种体现,重载体现在方法名相同,对于参数列表和返回值可不相同。特点就是与返回值无关,只看参数列表所以重载的方法是可以改变返回值类型的。
但如果两个方法参数列表一致,则不能通过返回值不同来体现重载,假设某类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。

Override
Override是重写,是继承关系之间的一种体现,如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写,子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

关于重写重载的一些面试题

  1. 构造器Construct是否可被Override?
    构造器不能被继承,所以不能被重写,但可以继承。当子类中没有任何构造器的时候,会通过super()调用父类的无参构造器。
  2. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可以继承具体类?抽象类中是否可有静态的main方法?
    接口可以继承接口;抽象类可以实现接口,因为抽象类不一定就全是抽象方法;抽象类可以继承实体类;抽象类中可以有静态的main方法。
    抽象类和普通类的唯一区别就是不能创建实例对象和允许有abstract方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值