JAVA程序设计教学第四章.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Java的类 本章主要讲述的内容 类的定义和使用; 方法的定义和使用; 实例变量和局部变量; 构造函数; 方法的覆盖和重载; 关键字this的用法; 4.1 类与对象 在Java程序中,除原子类型的变量以外都是对象,连Java程序本身也不例外。 类是面向对象程序设计的基础,OO始终是围绕着对象的封装性、继承性和多态性展开讨论的。 4.1.1 类与对象的区别 类是一个抽象的概念,对象是一个具体的概念。 类是在一组对象的基础上,通过抽象和概括获得的一个概念。 对象是由数据和方法紧密结合的一个封装体,具有信息隐藏的能力。 对象可以通过方法(函数)与其它对象进行通信,但并不知道这些方法的实现细节。 4.1.2 Java和C编程思想的区别 C是结构化的编程语言,以函数为编程单元,程序员把注意力集中在编写函数上。 Java是面向对象的编程语言,以类为编程单元,程序员的精力集中在对类的设计上。 对象将实例变量(instance variable)和对数据的操作(即方法)约束在一起,类似一个独立的程序,易于扩充,易于维护,代码可复用。 4.1.3 如何定义类 类是对象的模板,它定义了对象的结构和操作数据的方法。定义格式如下: 4.1.3 如何定义类(续) 系统类Object是整个类层次结构中的根。 类内定义的变量称为实例变量,函数称为方法; Java将类的定义和类的实现放在一起,便于系统维护。例如: 4.1.3 如何定义类(续) 4.1.4 对象和引用 对象是客观存在的变量,对象的引用就是对象的名字,例如:point p1; 创建对象:p1=new point( ); 一个对象可以有多个别名 ; 将一个变量设置为null,表明该变量不代表任何对象 : p1 = null ; 每个对象都有自己的变量,改变一个对象的实例变量并不影响到另外一个对象。例如: 4.2 方法 方法是一个功能模块 ,类似C中的函数; 方法和实例变量都必须定义在类内,方法是类的功能接口 ; 定义方法的原则:方法应当只执行单一的任务,并且方法名能有效地表达该任务; 方法的返回值类型、方法名和参数表共同称之为方法的特征。 4.2 方法(续) 调用方法的格式:引用. 方法名(参数表); 4.3 实例变量和局部变量 Java中的变量分为两种:类内定义的实例变量,方法中定义的局部变量。 在同一个作用域内,不允许定义两个同名的局部变量。 局部变量可以掩盖实例变量。 4.3 实例变量和局部变量(续) 实例变量属于对象,它描述了对象的属性,随着对象的存在而存在; 局部变量是随着方法的调用而存在,一旦方法调用结束,局部变量也就消亡了。 4.4 构造函数 构造函数的功能是在创建对象时初始化对象的实例变量; 构造函数与类具有相同的名字; 构造函数没有返回值; 如果类中没有定义构造函数,编译器会自动创建一个缺省的、不带参数的构造函数。 构造函数是在对象创建之后,new操作完成前被调用的。 4.5 方法重载 方法重载是在一个类中定义二个或多个同名的方法,但方法的参数个数或类型不完全相同;例如: 注意以下两点 一旦定义了构造函数,Java就不能再调用系统缺省构造函数; 方法重载的一个误区是靠返回值区别重载,即定义多个方法,它们的名称和形参类型完全相同,但返回值不同,这是不允许的。 4.6 关键字this this指代对象 ,例如: 4.6 关键字this(续) this指代对象可以用于解决实例变量被局部变量屏蔽的问题。 例如: 4.6 关键字this (续) Java中的级连调用,仍是指代当前对象的this。例如: 4.6 关键字this (续) 在构造函数内部使用this,它用于指代另外一个构造函数,但不能指代非构造函数。例如: 4.7 继承 继承是软件重用的一种形式 ,可以提高系统的性能; Java不支持多继承,但支持多接口; 子类的对象也是其超类的对象,反之未必; 继承具有传递性。 关键字super 构造函数是一种特殊的方法,子类不能继承超类的构造函数,但子类构造函数可以通过super调用超类的构造函数。 当创建子类对象时,首先执行超类构造函数,然后执行子类的构造函数。例如: 再次讨论构造函数 若父类没有定义构造函数,那么对父类数据的初始化将采用系统缺省的构造函数;例如: 再次讨论构造函数(续) 若父类定义有缺省构造函数,那么子类可根据自己的需要设置自己的构造函数。例如: 再次讨论构造函数(续) 若父类定义的构造函数都是有参的,那么子类构造函数必须通过super调用父类构造函数,例如: 4.8 方法的覆盖 方

文档评论(0)

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

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

1亿VIP精品文档

相关文档