网站大量收购独家精品文档,联系QQ:2885784924

07 面向对象技术(三).ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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()

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档