六、方法重载、方法覆盖、super、向上向下转型、动态和静态绑定

一、请问什么是方法重载?

答:重载方法必须满足的条件是:在同一个类中,方法名相同,参数签名(方法的参数类型、个数、顺序)不同,方法的返回类型可以不相同,方法的修饰符可以不相同。

二、请问什么是方法覆盖?

答:方法覆盖是子类和父类的方法同名同参同返回值。

三、请问方法重载和方法覆盖的异同是什么?

答:相同点:都要求方法名相同,都可以用于抽象方法和非抽象方法之间。

不同点:①方法覆盖要求同参数签名,方法重载要求参数签名不同。

②方法覆盖要求返回类型相同,方法重载不限制。

③方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类中的所有方法。

④方法覆盖对方法的访问权限和抛出的异常有特殊的要求,方法重载无限制。

⑤父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次。

四、请问在什么情况下使用super关键字?

答:①在类的构造方法中,通过super语句调用这个类的父类的构造方法;

②在子类中访问父类的被屏蔽的方法和属性?

五、请问什么是被屏蔽的方法和属性?

答:①在一个方法内,当局部变量和类的成员变量同名,或者局部变量和父类的成员变量同名时,按照变量的作用规则,只要局部变量在方法内可见。

②当子类的某个方法覆盖了父类的一个方法时,在子类的范围内,父类的方法不可见。

③当子类中定义了和父类同名的成员变量时,在子类的范围内,父类的成员变量不可见。

六、请问什么是向下转型和向上转型?

答:把引用变量转换为子类类型,称为向下转型;把引用类型转换为父类类型,称为向上转型。

七、请问什么是动态绑定和静态绑定?

答:实例方法与引用变量实际引用的对象的方法绑定,属于动态绑定;

静态方法与引用变量所声明的类型的方法绑定,属于静态绑定;

成员变量(包括静态变量和实例变量)与引用变量所声明的类型的成员变量绑定,属于静态绑定。

八、请问继承的最大弱点是什么?

答:打破封装,子类能够访问父类的实现细节,子类与父类之间紧密耦合,子类缺乏独立性,从而影响了子类的可维护性。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值