继承特性
2016-06-07 10:11
162 查看
继承是Java中核心技术之一,是通过对已存在的类进行功能扩展,添加一些新的方法和属性,以满足新的需求。以下是对继承进行一些说明:
使用情景:类与类之间满足 is-a 的关系。
类命名格式:子类 extends 超类
构造方式:调用子类构造器时,会默认调用超类的无参构造super()(如超类缺少无参构造,则报错),也可以显式调用各种构造器。
属性继承:子类可以继承父类的属性,但是在使用时要考虑权限,如私有属性不能直接调用,需要借助公有的接口super.getXx()获取属性值
动态绑定:当子类覆盖(override)了父类的方法时,在调用子类方法时会编译器自动判断需要调用哪个方法过程如下:
搜索 子类中同名的方法 和 父类中属性为public的同名方法
匹配参数类型:由于参数允许类型转换,所有在匹配时有不同的优先级,首先寻找最精确的类型,然后先子类后父类搜索该方法。
注意事项:子类方法返回值可以相同,或者更加精确,并且可见性不能低于父类。
强制类型转换:将指向父类的子类对象,变为指向子类的子类对象,如:
使用情景:类与类之间满足 is-a 的关系。
类命名格式:子类 extends 超类
构造方式:调用子类构造器时,会默认调用超类的无参构造super()(如超类缺少无参构造,则报错),也可以显式调用各种构造器。
属性继承:子类可以继承父类的属性,但是在使用时要考虑权限,如私有属性不能直接调用,需要借助公有的接口super.getXx()获取属性值
动态绑定:当子类覆盖(override)了父类的方法时,在调用子类方法时会编译器自动判断需要调用哪个方法过程如下:
搜索 子类中同名的方法 和 父类中属性为public的同名方法
匹配参数类型:由于参数允许类型转换,所有在匹配时有不同的优先级,首先寻找最精确的类型,然后先子类后父类搜索该方法。
注意事项:子类方法返回值可以相同,或者更加精确,并且可见性不能低于父类。
强制类型转换:将指向父类的子类对象,变为指向子类的子类对象,如:
Object obj = new String("hello"); if(obj instanceof String){ //检测obj是否是String对象 String s = (String) obj; }
相关文章推荐
- WINPE自启动脚本Winpeshl.ini 和Startnet.cmd
- python实现多线程的方式及多条命令并发执行
- css position, display, float 内联元素、块级元素
- 高并发性能提升和超卖的解决方案
- GAMIT 软件中 trackRT 模块的安装
- 【leetcode】191. Number of 1 Bits
- UniEAP Platform开发环境搭建
- c#转换ASCII,很不错
- 乐视乐2怎么恢复误删照片
- jQuery控制div实现随滚动条滚动效果
- UML类图几种关系的总结
- 笔记之解决ScrollView起始位置不是最顶部的问题
- java的if else语句入门
- Android Studio 修改包名packageName
- C#委托和事件的困惑
- 机器学习笔记(一)——线性回归算法
- ble4.0节省功耗原因
- 替换a b 的值,不借助过度变量(两值相互替换不借助中间变量)
- Jboss的JBWEB000065: HTTP Status 404 原因
- 捕获Home键