Java程序设计 第5章.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
子类对父类的同名方法(方法名称相同,参数相同,返回类型相同)重新进行定义,即在子类中定义与父类中已定义的相同名而内容不同的方法。 覆盖 方法名称相同,参数名称相同,返回类型相同:覆盖 方法名称相同,参数名称不同:重载 方法名称相同,参数名称相同,返回类型不同:编译不能通过 覆盖案例【5.9】 覆盖相关注意点 * * 人,关系,公司,总经理,雇员,包含,组合,聚合, * * * * * * * * * * * 子类在继承父类的时候,首先应该满足父类可被访问,例如当子类和父类不 在同一个包当中时,父类修饰符必为public;在父类能被访问的前提下,凡 是修饰符为public或是protected的父类属性成员或是方法能被子类所访问; private的属性成员或是方法则不能被访问。 赵朋,王丹 * * * * * * * * * * * 1350, 342,饱添笔墨,把侯属之类,但有名者,一概勾之,自此,山猴都有不老者,以阴司无名故也 * * * * * 第五章 面向对象(中) 主要内容 面向对象的特征 封装-Encapsulation 继承-Inheritance 多态-Polymophism 面向对象的特征 用面向对象语言例如Java所编的程序 就一定是面向对象程序吗? 封 装 class FighterPlane { private String name; private int missileNum; public void setName(String _name) { if(_name != null){ name = _name.trim(); } } public void setNum(int _missileNum) { if(_missileNum 0 ){ missileNum = _missileNum; } } public void fire(){ if (missileNum0){ System.out.println(“now fire a missile!”); } else {System.out.println(“No missile left!”);} } }// end class 对象 概念与特点 访问控制 体现封装,则需要掌握访问控制符public、 protected、 private、 “默认”的用法。 在java中这些修饰符可以修饰的地方有3种: 修饰类 修饰类的属性成员(域) 修饰类的成员方法 类前修饰符 类属性成员方法 public 缺省 public A B protected B或(B+C) B 缺省 B B private D D 权限依次增大 A:所有类 B:包中的类 D: 本类 C:所有子类 E:包中子类 访问权限首先看类前的修饰符,当类的修饰符为public时, 则类可以被所有的类所访问(可以import),当为默认时, 则只能为包中的类所访问。在此前提下,再看方法前的修饰符。 类前修饰符为public时,当属性和方法前的修饰符为public时,则该属性可以被所有类访问;当属性和方法前为protected修饰时,对于类定义而言,可以被同包中的类和所有子类访问(子类和父类可以不在同一个包中),也就是B+C范围,但对于对象而言,只能被同一个包的类对象所访问,也就是B的范围;当为默认时,只能被同包中的类所访问(比protected访问权限小);当为private时,只能被本类内部所访问 。 访问控制举例5.2—5.5 消息 消息的实质就是引用向对象发出的服务请求,是对数据成员 和成员方法的调用,例如 fp.name 和 fp.fire()就是发送消息。 能否发送消息取决于 引用必须引用了特定的对象,否则会在运行是抛出NullPointerException异常。 对象必须定义了相应的属性或方法,否则编译不会通过。 被访问的属性或方法必须具有可访问的权限。 【例5.6】 继 承 继承 通过extends关键字实现; 子类可以从父类继承所有非private的属性和方法作为自己的成员; 【例5.7】。 FighterPlane 和Plane类中的属性和方法统统被拷贝到FighterPlane 对象当中,包括Plane中的private属性成员,但是FighterPlane对象 内部无法直接访问,必须通过setName和getName方法间接访问。 继承有如下几点好处: (1)它可以利用已有的类来创建自己的类,只需要指出自己的类和已有的其他的类有什么不同

文档评论(0)

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

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

1亿VIP精品文档

相关文档