第四章Java程序结构1.ppt

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

第四章 Java程序结构 类与对象 对象的使用与对象间的通信 多态性与重载 接口与包 访问控制与修饰符 1.类与对象 面向对象是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象(object)。对象有静态属性和能动属性,分别用数据和方法来描述。 现实世界中任何实体都可以归属于某类事物,任何对象都市某一类事物的实例。车辆(汽车、卡车、摩托车、自行车,…),电器(电视机,电冰箱,微波炉,洗衣机),水果(苹果、香蕉、荔枝,桃,葡萄),…… 要描述一个对象,首先要定义对象的模板——类,然后再根据类创建对象,所以对象也称为类的实例(instance)。 面向对象程序设计以对象为中心,以消息为驱动,通过描述对象及其相互关系,激发对象之间的相互作用,来求解问题。 2. 对象的使用与对象间的通信 对象的创建 对象的使用 对象的通信(消息)与实例方法的调用 对象的创建 类是某一类对象的共同特征(属性、行为)的描述,即类中含有某一类对象具有哪些属性、行为的信息。 对象和现实生活中的事物一样,有它的产生、发展和消亡的过程。在Java中分别称为对象的创建、使用和释放。 例4.3 定义一个学生类 /*用”学号”、”姓名”、”班号”描述”学生”的属性,用”设置学号值”、”取学号值”等方法描述它的行为*/ Class Student //Student是学生类名 { //定义成员变量 private int sNumber; //学号 private String sName; //姓名 private String sClass; //班号 //定义成员方法 void setSNumber(int xNumber) { sNumber=xNumber; } int getSNumber() { return sNumber; } void setSName(String xName) { sName=xName; } String getSName() { return sName; } void setSClass(String xClass) { sClass=xClass; } String getSClass() { return sClass; } } 多态性 方法的重构重载 方法的动态调用 抽象类 方法的动态调用 编译时多态:由方法重写实现的静态多态性通常又称为编译时多态;指的是方法重载,即完成一组相似功能的方法可具有相同的方法名,具体调用哪个被重载的方法,是编译器在静态阶段确定的。在多重继承的情况下(A-B-C),类A,B,C构成了由上到下的继承链。在继承链中,有的类可能继承了它的超类的某个方法而未重构这一方法,有的类可能重构了它的超类的某个方法。当继承链中的某个类的对象调用某个方法时,Java将从这个类开始,顺着继承链由下而上的寻找到匹配的同名方法并调用这一方法。 例4.19 演示方法的动态调用——TestPointCircle 内部类(续) 实际上,Java语言规范还允许你做更多的事情,包括: ·在另一个类或者一个接口中声明一个类。 ·在另一个接口或者一个类中声明一个接口。 ·在一个方法中声明一个类。 ·类和接口声明可嵌套任意深度。 内部类最自然的一种应用就是声明只在另一个类的内部使用的类,或者声明与另一个类密切相关的类。 适用于类成员的访问控制修改符也适用于内部类;也就是说,内部类可以具有package、protected、private和public访问权限,它们的语义和正常的语义没有什么不同。 补充例 c1,c2,c3.java 接口与包 接口 包 包的创建 包的创建:创建一个包,只需在定义了类和接口的源文件的第一行中使用package语句。 package说明必须是非注释非空行的第一行 例4.23 用package语句创建包。 package graphics; public class Circle extends Graphic { …… } package语句的作用域是包含该语句的整个源文件。如果未指定一个类所属的包,则默认该类在一个无名包中。如果有多个包,则不同包中的类可以有相同的类名。 访问控制与修饰符 类成员的访问权限 类的修饰符 抽象类 在类的声明时,如果使用abstract修饰符对类加以修饰,这个类就是抽象类。抽象类不能被实例化。通常,抽象类中含有抽象方法,抽象方法是只给出方法声明但没有方法体的方法。子类在继承抽象类时,必须重构其父类的抽象方法,给出具体的定义。 例4.21 演示抽象类及其用法。

文档评论(0)

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

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

1亿VIP精品文档

相关文档