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

Java程序设计-7-继承和接口-课件(PPT演示).pptx

Java程序设计-7-继承和接口-课件(PPT演示).pptx

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

Java程序设计

第七章继承、接口

学习目标

●理解继承的含义以及类的层次关系

●理解抽象类和具体类的区别

●理解多态的含义以及如何实现多态

●理解类型系统

理解接口以及实现接口

●理解接口和抽象的区别

掌握0bject类,掌握主要方法的作用

●理解对象相等性的判断机制

基本概念

继承是自然界的一种普遍现象。作为面向对象技术的实现,Java提供了通过继承创建新类来实现类的重用,在清晰的描述问题域的层次体系时,

继承有着重要的作用。作为系统建模的一种主要原则,理解继承的关键在于能够认识抽象的作用。

本质上接口是一种设计模式,它和继承还有着一定的区别,在开发中它的使用更加频繁。

Figure

汽车火车

RectangleCircle

基本概念

●生活中的层次结构

交通工具

陆上交通工具水上交通工具

生物

植物动物

基本概念

●在Java语言中,所有的类都有着严格的层次体系,除了根类,每个类都有着唯一的超类

Object

InputStreamAbstractCollection

FileInputStream

FilterInputStream

AbstractQueueAbstractListAbstractSet

BufferedInputStream

DataInputStream

AbstractSequentialListArrayListVector

LinkedListStack

在发生继承关系时,一个子类对于超类的继承表

现在以下几个方面:

继承超类的属性

◆继承超类的方法

◆使用超类的构造函数

classChildClassextendsSuperClass{//...

}

继承发生在一个被称为“超类”(基类)与一个被称为“子类”之间,用extends来实现,如:

类的继承

类的继承

●继承超类的属性

一个子类继承超类的属性之后能否使用取决于超类属性的访问属性以及子类和超类所属包的关系

父类

inta

publicintb;

protectedintc;privateintd;

同包的子类

inta

publicintb;

protectedintc;

不同包的子类

publicintb;

protectedintc;

类的继承

·根据继承规则:

◆当超类和子类在同一包中时,子类可以继承(既可以直接使用)超类中除private修饰的一切属性

◆而当超类和子类不在同一个包内时,子类除了超类中用private修饰的属性不能继承外,超类中默认访问权限的属性也不能被继承。

注意:当明确一个类需要作为基类来使用时,考虑清楚每一个数据成员的访问范围是很重要的。

类的继承

●继承超类的方法

◆子类对于超类方法(不包括超类的构造函数)的继承规则和属性继承规则一样。

◆在超类中被说明为private的方法不能被子类继承使用,

◆那些没有说明访问范围的方法,只有当子类和超类在一个包内才可以被继承使用,

◆除此之外,超类的其它方法都可以被子类继承使用。

packagepoints;

publicclassPoint3dextendsPoint{intz;

publicvoidmove(intdx,intdy,intdz){X+=dx;y+=dy;z+=dz;

}

importpoints.Point3d;

classPoint4dextendsPoint3d{

intw;

publicvoidmove(intdx,intdy,intdz,intdw){

super.move(dx,dy,dz);w+=dw;

}

}

)类的继承与访问修饰符

classPoint{

intx,y;

Point(){reset();}

Point(intx,inty){this.x=X;this.y=y;}

privatevoidreset(){

this.x=0;this.y=0;

System.out.printIn(this.

文档评论(0)

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

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

1亿VIP精品文档

相关文档