继承特性

继承是Java中核心技术之一,是通过对已存在的类进行功能扩展,添加一些新的方法和属性,以满足新的需求。以下是对继承进行一些说明:

  • 使用情景:类与类之间满足 is-a 的关系。

  • 类命名格式:子类 extends 超类

  • 构造方式:调用子类构造器时,会默认调用超类的无参构造super()(如超类缺少无参构造,则报错),也可以显式调用各种构造器。

  • 属性继承:子类可以继承父类的属性,但是在使用时要考虑权限,如私有属性不能直接调用,需要借助公有的接口super.getXx()获取属性值

  • 动态绑定:当子类覆盖(override)了父类的方法时,在调用子类方法时会编译器自动判断需要调用哪个方法过程如下:

    1. 搜索 子类中同名的方法 和 父类中属性为public的同名方法
    2. 匹配参数类型:由于参数允许类型转换,所有在匹配时有不同的优先级,首先寻找最精确的类型,然后先子类后父类搜索该方法。
  • 注意事项:子类方法返回值可以相同,或者更加精确,并且可见性不能低于父类。

  • 强制类型转换:将指向父类的子类对象,变为指向子类的子类对象,如:

Object obj = new String("hello");

if(obj instanceof String){  //检测obj是否是String对象

    String s = (String) obj;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值