- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第0405章 类和对象设计
方法重写示例 * 成员变量的隐藏和方法的重写 class SuperClass{ int x; … void setX( ){ x=0; } … } class SubClass extends SuperClass{ int x; //hide x in SuperClass … void setX( ) { //override method setX() x=5; } …. } * Super (1) super用来引用当前对象的父类 (1) 访问父类被隐藏的成员变量,如: super.variable; (2)调用父类中被重写的方法,如: super.Method([paramlist]); (3)调用父类的构造函数,如: super([paramlist]); * Super (2) class SuperClass{ int x; SuperClass( ) { x=3; System.out.println(“in SuperClass : x=“ +x); } void doSomething( ) { System.out.println(“in SuperClass.doSomething()”); } } * Super(3) class SubClass extends SuperClass { int x; SubClass( ) { super( ); //call constructor of superclass x=5; //super( ) 要放在方法中的第一句 System.out.println(“in SubClass :x=“+x); } void doSomething( ) { super.doSomething( ); //call method of superclass System.out.println(“in SubClass.doSomething()”); System.out.println(“super.x=”+super.x+“sub.x=”+x) } } public class inheritance { public static void main(String args[]) { SubClass subC=new SubClass(); subC.doSomething(); } } * Super (4) 运行结果 c:\ java inheritance in SuperClass: x=3 in SubClass: x=5 in SuperClass.doSomething() in SubClass.doSomething() super.x=3 sub.x=5 * 方法重写应遵循的原则 (1)改写后的方法不能比被重写的方法有更严格的访问权限 (2)改写后的方法不能比重写的方法产生更多的例外 * 方法重写应遵循的原则 class Parent{ public void function( ) } } class Child extends Parent{ private void function( ) } } //出错,访问权限变小 public class OverriddenTest{ public static void main(String args[]) { Parent p1=new Parent(); Parent p2=new Child(); p1.function(); p2.function(); } } * 多态性 是由封装性和继承性引出的面向对象程序设计语言的另一特征。 静态多态性(编译时多态〕 由方法重载(overload)实现 动态多态性(运行时多态) 子类对象可以作为父类对象使用。在程序中凡是需要父类对象的地方,都可以用子类对象代替。 由方法重写(overridden)实现 调用规则:根据实例的类型决定调用的方法。 class A { int i, j; A(int a, int b) { i = a; j = b; } void show(String msg) {
您可能关注的文档
最近下载
- 《运筹学》清华大学教材编写组版课后习题完整答案.pdf VIP
- 德力西EM60变频器.pdf VIP
- 机械毕业设计(论文)-小型电动割草机的设计.doc VIP
- 2025年矿长、总工程师或技术负责人瓦斯日报审查签字制度汇编(7篇范文).docx VIP
- 甘肃省天水市麦积区2024-2025学年七年级上学期10月期中考试数学试卷(含答案)_20250916153651.pdf VIP
- EN ISO 11666-2018超声波检测验收等级.pdf VIP
- 岗位安全标兵管理制度.docx VIP
- 护士长护理管理量化考核细则.docx VIP
- 基于SpringBoot的OA自动化办公系统的设计与实现.doc
- 豆芽发芽生长过程观察记录表1.docx VIP
原创力文档


文档评论(0)