Java类的继承原理与用法分析
本文实例讲述了Java类的继承。分享给大家供大家参考,具体如下:
观察两个类的成员组成
提取相同的属性和方法
宠物是父类,狗和金鱼是子类。子类具有父类的属性和方法。
是使用已存在的类作为基础建立新类的技术。
单一继承:只有一个父类。
父类可以叫做基类、超类。子类可以叫做派生类。
子类可以继承父类中的成员(属性和方法)。
但是需要注意:
1.private的成员不能继承
2.子类和父类不在同一个程序包,使用默认访问权限的成员不能继承
3.构造器不能继承。
设计继承关系要符合里氏替换原则。is-a关系
子类是父类,可以完全替换掉父类,代码没有任何影响。
里氏替换原则(LSP):在一个软件系统中,子类对象可以替换所有使用的父类对象,且程序行为没有变化
在子类中,子类中的方法名、参数、返回值和父类中的完全相同,那么叫做子类重写了父类中的方法。
只有实例成员方法才能重写。静态成员方法、静态变量、实例成员变量不能重写,隐藏。
重写和隐藏的根本区别
重写可以实现多态,隐藏不能实现多态
1.名字必须完全一致
2.参数父类擦除后与子类一致;或者与子类完全一致。
3.返回值类型可以完全一致,如果是引用类型,允许子类的返回值类型是父类的子类
4.访问修饰符子类不能比父类更严格。
5.异常处理不能比父类范围更大。
1.子类修改了父类中的功能。
2.子类扩展了父类中的功能。
class父类手机{ publicvoid来电显示(){ 显示电话号; } }
class子类手机extends父类手机{ publicvoid来电显示(){ 显示电话号; 显示人名; 显示地址; } }
表示父类范围
super关键和this作用类似,是被屏蔽的成员变量或者成员方法或变为可见,或者说用来引用被屏蔽的成员变量和成员成员方法。
不过super是用在子类中,目的是访问直接父类中被屏蔽的成员,注意是直接父类(就是类之上最近的超类)。
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。