Java程序设计第3章类、类的继承和接口.ppt

上传人:牧羊曲112 文档编号:6510021 上传时间:2023-11-07 格式:PPT 页数:39 大小:621.50KB
返回 下载 相关 举报
Java程序设计第3章类、类的继承和接口.ppt_第1页
第1页 / 共39页
Java程序设计第3章类、类的继承和接口.ppt_第2页
第2页 / 共39页
Java程序设计第3章类、类的继承和接口.ppt_第3页
第3页 / 共39页
Java程序设计第3章类、类的继承和接口.ppt_第4页
第4页 / 共39页
Java程序设计第3章类、类的继承和接口.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《Java程序设计第3章类、类的继承和接口.ppt》由会员分享,可在线阅读,更多相关《Java程序设计第3章类、类的继承和接口.ppt(39页珍藏版)》请在三一办公上搜索。

1、第3章 类、类的继承和接口,本章目标,理解面向对象程序设计的思想掌握与面向对象的封装性相关的基本概念掌握与面向对象的继承性相关的基本概掌握与面向对象的多态性相关的基本概念,第3章 类、类的继承和接口,3.1 类3.2 包的创建和使用、源文件结构3.3 类的继承和多态3.4 接口和接口的实现3.5 内部类和匿名内部类,3.1 类,3.1.1 类的修饰符3.1.2 类的成员3.1.3 域、域的访问控制修饰符和其他修饰符3.1.4 静态方法、抽象方法和最终方法3.1.5 构造方法3.1.6 关键字this3.1.7 抽象和封装3.1.8 对象的清除,3.1 类,3.1.1 类的修饰符修饰符1 cla

2、ss 类名 extends 父类名 implements 接口名列表 修饰符2 类型名 域名;public 类名(参数列表)/;修饰符3 返回值类型 方法名(参数列表)throws 异常/;修饰符1:public、abstract|final修饰符2:public|protected|private、static、fianl、transient、volatile修饰符3:public|protected|private、static、fianl|abstract、synchronized、native,3.1 类,3.1.2 类的成员域:也称属性、字段、成员变量。方法内部类,3.1 类,3.1

3、.3 域、域的访问控制修饰符和其他修饰符域的初始化声明其他类对象作为一个类的域域的访问控制封装和公开静态域最终域域的声明格式,3.1 类,3.1.3 域、域的访问控制修饰符和其他修饰符域的初始化All reference typenullbyte、short、int0long0Lfloat0.0Fdouble0.0Dcharu0000booleanfalse;例3.1(Page94):TestBirthdy.java,3.1 类,3.1.3 域、域的访问控制修饰符和其他修饰符声明其他类对象作为一个类的域例3.2(Page96):TestPerson.java与Person.java,3.1 类

4、,3.1.3 域、域的访问控制修饰符和其他修饰符域的访问控制封装和公开,3.1 类,3.1.3 域、域的访问控制修饰符和其他修饰符域的访问控制封装和公开为了实现良好的封装性,通常将类的域声明为private,再通过public的方法来对这个域进行访问。例3.3(Page98),3.1 类,3.1.3 域、域的访问控制修饰符和其他修饰符静态域所有对象共享的域,也称类变量(区别于实体变量),用static修饰,可通过对象名或类名访问。例3.4(Page100):TestCar.java与Car.java,不能把任何方法体中的变量(局部变量)声明为静态的!,注意,3.1 类,3.1.3 域、域的访问

5、控制修饰符和其他修饰符最终域public static final 类型 常量名=初始值;最终域的值一旦确定就不能重新赋值!一般通过类名引用最终域。域的声明格式,3.1 类,3.1.4 静态方法、抽象方法和最终方法方法的定义格式方法的访问控制修饰符静态方法最终方法抽象方法,3.1 类,3.1.4 静态方法、抽象方法和最终方法静态方法有时希望不创建对象就能调用某个方法调用静态方法的格式:类名.静态方法或者对象名.静态方法例3.5(Page103):UseStaticVar.java,3.1 类,3.1.4 静态方法、抽象方法和最终方法静态方法在静态方法里只能直接调用同类中其他的静态成员,而不能直

6、接调用同类中的非静态成员。静态方法不能以任何方式引用this和super关键字。,注意,3.1 类,3.1.4 静态方法、抽象方法和最终方法最终方法用关键字final修饰的方法,不能被重写/覆盖(Page104)。抽象方法用关键字abstract修饰的方法,只有方法头,没有方法体。,左、右花括号+左、右花括号之间的部分,均用分号代替!,3.1 类,3.1.5 构造方法构造方法的规则:Page105构造方法的重载例3.6(Page106):TestBirthday.java与Birthday.java,3.1 类,3.1.6 关键字this含义及使用:Page107例3.6(Page107):T

7、estBirthday.java与Birthday.java,3.1 类,3.1.7 抽象和封装3.1.8 对象的清除垃圾回收器System.gc();,3.2 包的创建和使用、源文件结构,3.2.1 包3.2.2 创建包和使用包中的类3.2.3 源文件结构和程序说明文档的生成,3.2 包的创建和使用、源文件结构,3.2.1 包Java通过引入包(package)机制,提供类的多层类命名空间,来解决类的命名冲突问题。完整的类名是:包名.类名。类及类成员的访问:Page110。,3.2 包的创建和使用、源文件结构,3.2.2 创建包和使用包中的类package语句package 包名.下一级包名

8、.;javac命令中的-d选项import语句import 包名.类名;import 包名.*;,3.2 包的创建和使用、源文件结构,3.2.3 源文件结构和程序说明文档的生成,Page 113,3.3 类的继承和多态,3.3.1 类的包含关系和继承关系3.3.2 类成员的继承和重新定义3.3.3 子类对父类构造方法的调用关键字super3.3.4 父类和子类对象的转换3.3.5 抽象类和最终类,3.3 类的继承和多态,3.3.1 类的包含关系和继承关系,汽车,发动机,车轮,方向盘,Has-A(包含)关系,红星苹果,红富士苹果,苹果,梨,水果,Is-A(继承)关系,3.3 类的继承和多态,3.

9、3.2 类成员的继承和重新定义例3.10(P113)、例3.11(P119)与例3.12(P120)定义子类的格式:extends关键字类成员的继承子类拥有父类所有非私有变量(/域)和方法的使用权。子类添加成员,3.3 类的继承和多态,3.3.2 类成员的继承和重新定义重新定义从父类继承来的成员方法覆盖的规则变量隐藏:可通过”super.变量名”引用父类同名变量。方法覆盖定义:子类有与父类同名的方法。规则:Page118子类的方法名、返回值类型、参数列表与父类一样访问控制级别:子类不能比父类更严格(宽松性:publicprotected默认private)异常:子类不多于父类,3.3 类的继承

10、和多态,3.3.3 子类对父类构造方法的调用关键字super(例3.13、例3.14)super.变量名引用被子类隐藏的变量super.方法名调用被子类覆盖的父类的方法super(参数列表)子类构造方法调用父类构造方法super(参数列表)必须是子类构造方法中的第一个语句!不能与this(参数列表)同时出现在构造方法中!,注意,3.3 类的继承和多态,3.3.4 父类和子类对象的转换,gouGou,Is yanJing an Animal?,Is yanJing a Dog?,Animal yanJing=new Dog();,Dog gouGou=(Dog)yanJing;,yanJing,

11、父类,子类,3.3 类的继承和多态,3.3.4 父类和子类对象的转换,Is yanJing an Animal?,Is yanJing a Dog?,Animal yanJing=new Cat();,Dog gouGou=(Dog)yanJing;,yanJing,3.3 类的继承和多态,3.3.4 父类和子类对象的转换,gouGou,Animal yanJing=new Dog();,if(yanJing instanceof Dog)Dog gouGou=(Dog)yanJing;,yanJing,Is yanJing a Dog?,instanceof,yanJing.shout();

12、,shout(),3.3 类的继承和多态,3.3.5 抽象类和最终类抽象类由abstract修饰的类,只能做父类,不能实例化。最终类由final修饰的类,不能做父类。,3.4 接口和接口的实现,3.4.1 接口概述3.4.2 自定义接口和实现接口3.4.3 Java类库中的接口实现举例,3.4 接口和接口的实现,3.4.2 自定义接口和实现接口自定义接口public interface 接口名称 extends 父接口名列表/静态常量 public static final 数据类型 变量名=常量值;/抽象方法 public abstract 返回值类型 方法名(参数列表);,3.4 接口和接

13、口的实现,3.4.2 自定义接口和实现接口实现接口修饰符 class 类名 extends 父类名 implements 接口A,接口B,类的成员变量和成员方法;为接口A中的所有方法编写方法体,实现接口A;为接口B中的所有方法编写方法体,实现接口B;,3.4 接口和接口的实现,3.4.2 自定义接口和实现接口接口实现举例Assembler.java,思考:如果SoundCard类中具有PCI接口中的所有方法,但没有明确声明它实现了PCI接口,SoundCard的对象实例能不能直接传递给MainBoard的usePCICard方法使用?,3.5 内部类和匿名内部类,要点总结,类的定义(private/public成员、this、常量)对象的创建与使用(构造方法、new、域选择运算符)包的声明与引用类的继承(extends、super)、方法覆盖(/重载)、对象类型转换接口的定义与实现,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号