- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07 面向对象技术(三)
this引用/super引用(1) this引用(2) this引用(3)/super引用 this引用(4)/更多的例子 this引用(5)/调用自身构造方法的Box this引用(6)/更多的例子 this引用/super引用(7) 面向对象的程序设计/运行时多态(1) 面向对象的程序设计/运行时多态(2) 面向对象的程序设计/接口(1) 面向对象的程序设计/接口(2) 面向对象的程序设计/接口(3) 面向对象的程序设计/接口(4) 面向对象的程序设计/接口(5) 面向对象的程序设计/接口(6) 面向对象的程序设计/包(1) 面向对象的程序设计/包(2) 面向对象的程序设计/包(3) 面向对象的程序设计/包(4) 面向对象的程序设计/包(5) 内部类(1) 内部类(2) 内部类(3) 内部类(4) * * 第七讲 面向对象技术(三) Java程序设计基础 主要内容: 父类与子类的关系 子类对超类构造方法的调用 this和super 运行时多态 接口 包的创建和引用 内部类 this是对当前对象的一个引用 super是对父类的一个引用 什么叫当前对象的一个引用呢?我们先来看一些例子 class Box { double width; double height; double depth; double volume(){return width*height*depth;} void setDim(double width,double height,double depth){ width = width; height = height; depth = depth; } } Java中特殊而且非常有用的引用 this. this. this. 按照变量定义域的规则,这种情况下成员变量(蓝)会被方法中局部变量(红)覆盖掉 使用this引用后,成员又重新暴露出来了 用this引用解决成员变量与成员方法的局部变量名称冲突的问题 如果我们用下列语句 Box bx1 = new Box(); Box bx2 = new Box(); //生成了两个Box的对象 从外部看前一个对象的引用是bx1,从它的内部看引用则是this 同样道理,从外部看第二个对象的引用是bx2,而从bx2的内部看它的引用也是this 这就是说,在一个对象的内部,如果想得到这个对象的引用,要用this,而不是它的名称 从一个对象的内部看它的父类的对象就是super this作为输入参数 this表示本对象的getValue(A a){…} 调用父类的构造方法 调用父类的getValue()方法 class A { A(int v) { value = v; } public int getValue(A a){ System.out.println(getValue(...) of class A); return a.value; } protected int getValue(){ System.out.println(getValue() of class A); return this.getValue(this); } protected int value; } class B extends A { B() { super(7); } public int getValue(B b){ System.out.println(getValue(...) of class B); return b.value; } protected int getValue(){ System.out.println(getValue() of class B); return super.getValue(); } } public class ThisTestDemo1 { public static void main(String[] s){ A a = new A(30); B b = new B(); System.out.println(a.getValue()); System.out.println(b.getValue()); } } getValue() of class A getValue(...) of class A 30 getValue() of class B getValue() of class A getValue(...) of class A 7 a.getValue()
您可能关注的文档
最近下载
- 2025中信银行信用卡中心银川分中心招聘笔试备考试题及答案解析.docx
- 2025年金华职业技术学院单招职业倾向性测试题库及参考答案.docx VIP
- 武汉市2025届高中毕业生四月调研考试(四调)数学试卷(含答案).pdf
- 陕西西安市长安城乡建设开发公司招聘笔试题库2024.pdf VIP
- MEMS传感器和智能传感器的发展.docx VIP
- 中学英语课堂教育教学评价策略的研究结题报告.docx
- 运筹学(中国人民解放军陆军工程大学)中国大学MOOC慕课章节测验答案.pdf
- 内蒙古风能、太阳能资源.doc VIP
- 金丽衢十二校2024学年2025届高三第二次联考生物试卷(含答案).pdf
- 《中医骨伤科学》课件—— 肘关节脱位.pptx VIP
文档评论(0)