JAVA2实用教程第4讲概要1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA2实用教程第4讲概要1

Java语言与面向对象程序设计:第一讲 第四讲: Java面向对象的编程(续) 本讲主要内容 类的继承 对象类型的转换 运行中的多态性 抽象类和抽象方法 super关键字 Java接口 类的进一步讨论 回顾 面向对象的编程 对象(实体/实例): 具有:状态,行为 对象间的联系: 通过发送消息 类与对象的关系: 描述与实体 三大特性: 封装性、继承性、多态性 类与对象 类(对象原型):对象封装了变量(属性)和方法(操作) 变量:成员变量(实例变量和类变量) 、局部变量 方法:成员方法(实例方法和类方法)、 方法重载 构造方法:特殊方法,创建实例用 对象的生命期:新建、使用和消除 this关键字 成员和类的安全访问权限 类的UML表示 一个类的UML图表示 一个Box类的UML表示 定义一个带访问限定的类 (UML例示) 类的继承 继承是指一个类的定义可以基于另外一个已经存在的类(即子类基于父类),从而实现父类代码的重用。 两个类之间的这种继承关系可以用UML图形符号表示: 类的继承(续) 继承 可以先建一个共有属性的一般类,再根据一般类建有特殊属性的新类 新类继承一般类的状态和行为,并可以增加自己新状态和行为。 由继承得到的新类称为子类,被继承的已有类称为父类(超类) Java不支持多重继承(子类只能有一个父类) 继承的作用 可重用已有代码(继承性) 可更改部分原有功能 隐藏父类中的部分成员变量 重写父类中的部分成员方法(覆盖) 可增加新属性和功能 增加自己的成员变量和成员方法 多层次继承 创建子类 在类声明中加入extends子句 格式: ? class 子类名 extends 超类名 { 类体 } 例如: class Students extends People { ... } 子类举例(同包中的继承) 例子15 import java.applet.*; import java.awt.*; class Father { private int money; float weight, height; String head; String speak(String s) { return s ; } } class Son extends Father { String hand, foot; } 子类举例(同包中的继承) (续) public class Example4_17 extends Applet { Son boy; public void init( ) { boy=new Son() ; boy.weight=1.80f; boy.height=120f; boy.head=一只头; boy.hand=两只手; boy.foot=两只脚; } public void paint(Graphics g) { g.drawString(boy.speak(我是儿子),5,20); g.drawString(boy.hand+boy.foot+boy.head+boy.weight +boy.height,5,40); } } //运行结果:我是儿子 两只手两只脚一只头1.8120.0 子类和父类(非同包中的继承性) 如果子类和父类不在同一包中 只继承public或protected修饰的成员 不能继承友好成员 变量隐藏与方法重写(覆盖) 隐藏 当子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量被隐藏。 当子类中定义的一个方法,并且这个方法的名字、返回类型、及参数个数和类型跟父类的某个方法完全相同时,则父类的这个方法将被覆盖,也称子类重写父类的方法。 *** 子类通过对成员变量的隐藏和对方法的重写可以把父类的状态和行为改变为自身的状态和行为。 子类举例二 例子16 import java.applet.*; import java.awt.*; class Chengji { float f(float x, float y) { return x*y; } } class Xiangjia extends Chengji { float f(float x, float y) { return x+y ; } } 子类举例 例子4.17 import java.apple

文档评论(0)

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

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

1亿VIP精品文档

相关文档