第3章类与继承精选PPT.ppt
《第3章类与继承精选PPT.ppt》由会员分享,可在线阅读,更多相关《第3章类与继承精选PPT.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章类与继承第1页,本讲稿共22页主要内容l3.1类和对象l3.2面向对象特性l3.3关键字staticl3.4关键字final第2页,本讲稿共22页3.1类和对象 类是的一种重要的复合数据类型,是组成Java程序的基本要素,也是面向对象的程序设计的基本单位。类定义了某类对象的共有变量和方法。变量是现实对象的属性或状态的数字化表示,方法是对现实对象进行的某种操作或其对外表现的某种行为。对象是由一组相关的变量和方法共同组成的一个具体的软件体。类实例化就成为对象。对象和类之间的关系就如同房子和其设计图纸的关系。类的作用就象一个模板,所有对象实例依照它来创建。第3页,本讲稿共22页3.1.1类声明
2、 publicabstract|finalclassclassNameextendssuperClassNameimplementsinterfaceNameList.classbody(类体).第4页,本讲稿共22页3.1.2类成员 类体是一个类的功能部分,由变量和方法两部分组成,两者通称为类成员。类体的格式如下:classclassName/成员变量public|protected|privatestaticfinaltransientvolatiletypevariableName;/成员方法public|protected|privatestaticfinal|abstractnati
3、vesynchronizedreturnTypemethodName(paramList)throwsexceptionListstatements第5页,本讲稿共22页3.1.2.1变量 成员变量表示类的静态属性和状态,可以是任何的类型,既可以是基本数据类型也可以是复合数据类型。这就是说一个类的变量可以是其他类的对象。类成员变量缺省值:变量的类型初始值布尔型(boolean)false字符型(char)u0000整型(byte、short、int、long)0浮点型(float,double)+0.0f或+0.0d对象引用null第6页,本讲稿共22页3.1.2.2方法 用户定义的操作均用方
4、法(method)来实现,方法由一组完成某种特定功能可执行的代码组成。方法包括两种:构建器(constructor)和普通方法。方法的参数表由成对的类型及参数名组成,相互间用逗号分隔。如果方法无参数,则参数表为空。方法内部定义的局部变量不能和方法的参数同名。方法体中声明的局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。第7页,本讲稿共22页main()方法和命令行参数lmain():程序的入口方法。l命令行参数并不是必须的,但大多数应用都热衷于这种方式向程序输入一组参数。第8页,本讲稿共22页3.1.2.3构建器 l构建器(constructor)是提供对象初
5、始化的专用方法。它和类的名字相同,但没有任何返回类型,甚至不能为void类型。l构建器在对象创建时被自动地调用,它不能被显式调用。l如果在定义Java类时没有创建任何构建器,Java编译器自动添加一个默认的构建器。l可以通过方法的重载来提供多个构建器。l构建器中利用this关键字调用类中其他构建器,需要注意的是利用this来调用类中其他构建器时,其必须放在代码第一行。l构建器只能由new运算符调用。new运算符,除了分配存储之外,还初始化实例变量,调用实例的构建器。l类是用来定义对象状态和行为的模板,对象是类的实例。类的所有实例都分配在可作无用单元回收的堆中。声明一个对象引用并不会为该对象分配
6、存储,程序员必须显式地为对象分配存储,但不必显式删除存储,因为无用单元回收器会自动回收无用的内存。第9页,本讲稿共22页3.1.3关键字this lthis用在方法中,表示引用当前对象。l在一个方法内部如果局部变量与类变量的名字相同,则局部变量隐藏类变量,在这种情况下如果要访问类变量,必须使用this。l在类的构建器和非静态方法内,this代表当前对象的引用。利用关键字this,可以在构建器和非静态方法内,引用当前对象的任何成员。l一个方法引用它自己的实例变量及其他实例方法时,在每个引用的前面都隐含着“this”。第10页,本讲稿共22页3.1.4方法重载 l方法重载(overload)是指多
7、个方法具有相同的名字,但是这些方法的参数必须不同(或者是参数的个数不同,或者是参数类型不同)。l方法在同一个类的内部重载,类中方法声明的顺序并不重要。l返回类型不能用来区分重载的方法。方法重载时,参数类型的区分度一定要足够,例如不能是同一类型的参数。重载的认定是指要决定调用的是哪一个方法,在认定重载的方法时,不考虑返回类型。l方法重载时,编译器会根据参数的个数和类型来决定当前所使用的方法。l通过参数个数来区分方法重载,比较容易分辨;而通过参数类型来区分方法重载,要格外小心,避免出现“二义性”。第11页,本讲稿共22页3.1.5类继承 l在构造一个新的类时,首先找到一个已有的类,新类在这个已有类
8、的基础上构造,这种特性我们称之为继承,也可以称作派生(derived)。继承使用关键字extends声明。继承出的类称为原来类的子类,而原来类被称为父类或者超类。l类的继承具有传递性:如果B是A的子类,C是B的子类,则C是A的子类。l关键字extends只能引出一个超类superClassName,即Java语言仅支持单继承(singleinheritance)。l类的初始化过程。lObject是任何类的父类。lequals和toString 方法。Java语言之所以没有采用C+的多继承机制,是为了避免多继承带来的诸多不便,比如:二义性的产生、编译器更加复杂、程序难以优化等问题。Java语言虽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 继承 精选 PPT
限制150内