方法重写

1 子类方法的名称需要与父类方法的名称一直

2 子类方法的返回方法必须是父类方法返回类型的可替换类型

可替换类型:1)当放回类型是基本数据类型或是void时,子类与父类的返回类型要求一致。2) 当返回类型是引用类型时,子类可以与父类的返回类型一致,或者是父类的子类型。

参数列表

3子类方法的参数列表需要与父类方法的参数列表类型相同,或者与父类参数列表擦出后的类型相同。

4 访问权限

子类方法的访问权限不能低于父类方法的访问权限

5异常列表

子类方法不能比父类方法抛出更多的受检异常。

成员变量的隐藏

在子类中声明与父类同名的成员变量,就称子类隐藏了父类的成员变量。

只要保证与父类的变量名相同即可,类型可以保证不一致。

引用类型之间的转换

自动转换:子类向父类的转换

强制转换:父类转换成子类

 

父类的引用可以指向子类的对象,即子类的引用可以赋值给父类的引用。(子类是一种特殊的父类,所有的子类都是特殊的父类)

子类的引用是不可以指向父类的对象,即父类对象不能直接赋值给子类的引用。

我们可以将父类引用强制转换成子类的类型,前提是父类的引用指向了子类的对象,否则,编译时没有错误,但是运行时会出现“ClassCastException”

只有存在继承关系的两个类型之间才能转换,否则会产生编译错误。(引用类型的转换只能发生在父类型与子类型之间。而不能发生在不想管的类型之间)

通过父类的引用不能刚问子类新增的成员。即使父类的引用指向的就是子类的对象。如果想要访问子类成员就要进行类型转换,转换成子类的类型。

instanceof 运算符

判断左侧操作类型(对象的类型)是否是右侧操作数的类型,或者是否是右侧操作数的子类型。是,返回TRUE  不是返回false。

instanceof 最常使用的场景

如果 A instanceOf B 的值为true,我们就可以放心的将A 转换成B 的类型

B b = (B) A

这样,就不会在运行时产生ClassCastExcetion

转载于:https://www.cnblogs.com/kinoliu/p/6432862.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值