java期末复习课件第04讲面向对象程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《java期末复习课件第04讲面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《java期末复习课件第04讲面向对象程序设计.ppt(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、JAVA 语言第第4讲面向对象程序设计讲面向对象程序设计(2)继承继承2023/1/28JAVA 语言第4讲上一讲回顾1.面向对象的基本特征(封装、继承和多面向对象的基本特征(封装、继承和多态);态);2.类的定义类的定义、对象的创建和引用方法;对象的创建和引用方法;3.定义类时的各种细节,构造函数的定义定义类时的各种细节,构造函数的定义和使用;和使用;4.各种修饰符的使用方法。各种修饰符的使用方法。2023/1/28JAVA 语言第4讲学习要点学习要点n n理解继承的概念,超类和子类的关系,理解继承的概念,超类和子类的关系,掌握它们在继承中的应用;掌握它们在继承中的应用;n n掌握类中有关掌
2、握类中有关private成员的访问控制方成员的访问控制方法;法;n n理解方法重载和方法重写的区别和使用理解方法重载和方法重写的区别和使用方法;方法;2023/1/28JAVA 语言第4讲4.1 包n n包是由包是由.class文件组成的一个集合文件组成的一个集合2023/1/28JAVA 语言第4讲4.1.1 定义包n n构建包语句的语法是:构建包语句的语法是:构建包语句的语法是:构建包语句的语法是:package pkg1.pkg2.pkg3;package pkg1.pkg2.pkg3;例如:例如:例如:例如:package com.javaworldpackage com.javawo
3、rld;n npackagepackage语句作为语句作为语句作为语句作为JavaJava源文件的第一条语句。源文件的第一条语句。源文件的第一条语句。源文件的第一条语句。如果没有如果没有如果没有如果没有packagepackage语句,则为缺省无名包。语句,则为缺省无名包。语句,则为缺省无名包。语句,则为缺省无名包。n n则该语句的前面只能有注释或空行。而且一个则该语句的前面只能有注释或空行。而且一个则该语句的前面只能有注释或空行。而且一个则该语句的前面只能有注释或空行。而且一个文件中最多有一条文件中最多有一条文件中最多有一条文件中最多有一条packagepackage语句。语句。语句。语句。
4、n n包名有层次关系,全部用小写字母包名有层次关系,全部用小写字母包名有层次关系,全部用小写字母包名有层次关系,全部用小写字母,各层之间各层之间各层之间各层之间用点分割用点分割用点分割用点分割.2023/1/28JAVA 语言第4讲n n包是类的容器,用于分割类名空间。包是类的容器,用于分割类名空间。包是类的容器,用于分割类名空间。包是类的容器,用于分割类名空间。如果不如果不如果不如果不指定,默认就存在当前文件夹里面。指定,默认就存在当前文件夹里面。指定,默认就存在当前文件夹里面。指定,默认就存在当前文件夹里面。n n当使用包说明时,程序不需要再引入同一个包当使用包说明时,程序不需要再引入同一
5、个包当使用包说明时,程序不需要再引入同一个包当使用包说明时,程序不需要再引入同一个包或者该包的任何元素。或者该包的任何元素。或者该包的任何元素。或者该包的任何元素。n n如果包声明是:如果包声明是:如果包声明是:如果包声明是:package com.sun.java;package com.sun.java;则此文件必须存放在则此文件必须存放在则此文件必须存放在则此文件必须存放在WindowsWindows的的的的comsunjavacomsunjava目录下。目录下。目录下。目录下。2023/1/28JAVA 语言第4讲n n包名必须唯一包名必须唯一包名必须唯一包名必须唯一 主要是为了交流,
6、和便于大家的协同合作。主要是为了交流,和便于大家的协同合作。主要是为了交流,和便于大家的协同合作。主要是为了交流,和便于大家的协同合作。一个使用较多的办法是反转域名,如一个使用较多的办法是反转域名,如一个使用较多的办法是反转域名,如一个使用较多的办法是反转域名,如com.sun.util;com.sun.util;n n包名的解释包名的解释包名的解释包名的解释 JavaJava解释器的执行顺序是:首先找到环境变解释器的执行顺序是:首先找到环境变解释器的执行顺序是:首先找到环境变解释器的执行顺序是:首先找到环境变量量量量classpathclasspath,利用利用利用利用classpathcl
7、asspath包含的一个或包含的一个或包含的一个或包含的一个或者多个目录,把他们作为一种特殊的者多个目录,把他们作为一种特殊的者多个目录,把他们作为一种特殊的者多个目录,把他们作为一种特殊的“根根根根”使使使使用,从这里开始搜索,搜索时会把用,从这里开始搜索,搜索时会把用,从这里开始搜索,搜索时会把用,从这里开始搜索,搜索时会把“.”“.”替换替换替换替换成成成成“”“”(WindowsWindows)。)。)。)。2023/1/28JAVA 语言第4讲4.1.2 导入包n nimportimport的语法是:的语法是:的语法是:的语法是:import pkg1.pkg2.pkg3.(impo
8、rt pkg1.pkg2.pkg3.(类名类名类名类名|*|*););例如:例如:例如:例如:import java.awt.*;import java.awt.*;n n引入整个包时,可以方便的访问包中的每个类。引入整个包时,可以方便的访问包中的每个类。引入整个包时,可以方便的访问包中的每个类。引入整个包时,可以方便的访问包中的每个类。n n 但是引入所有的包会占用过多的内存。因此,但是引入所有的包会占用过多的内存。因此,但是引入所有的包会占用过多的内存。因此,但是引入所有的包会占用过多的内存。因此,我们建议只引入需要的类。我们建议只引入需要的类。我们建议只引入需要的类。我们建议只引入需要的
9、类。n n程序中不一定有引入语句。当需要引用某个类程序中不一定有引入语句。当需要引用某个类程序中不一定有引入语句。当需要引用某个类程序中不一定有引入语句。当需要引用某个类与当前类存储在一个物理目录下的时候,就可与当前类存储在一个物理目录下的时候,就可与当前类存储在一个物理目录下的时候,就可与当前类存储在一个物理目录下的时候,就可以直接使用,而不需要引入。以直接使用,而不需要引入。以直接使用,而不需要引入。以直接使用,而不需要引入。2023/1/28JAVA 语言第4讲4.1.3 类路径(CLASSPATH)n n编译时:编译时:编译时:编译时:javac javac dd CLASSPATHC
10、LASSPATH路径路径路径路径 Myclass.javaMyclass.java例如:例如:例如:例如:javac d d:Myjava myclass.javajavac d d:Myjava myclass.java 则直接在则直接在则直接在则直接在d:Myjavad:Myjava下创建在下创建在下创建在下创建在myclass.javamyclass.java中中中中指明的包目录,并把指明的包目录,并把指明的包目录,并把指明的包目录,并把myclass.classmyclass.class拷到该目录下。拷到该目录下。拷到该目录下。拷到该目录下。n n运行:运行:运行:运行:java ja
11、va 包名包名包名包名.类名类名类名类名如如如如java java pk1.pk2.pk1.pk2.类名类名类名类名A An n示例示例示例示例CircleDemo2.javaCircleDemo2.java2023/1/28JAVA 语言第4讲n njdkjdk中常用的包中常用的包中常用的包中常用的包n njava.lang-java.lang-包含一些包含一些JavaJava语言的核心类,语言的核心类,如如StringString、MathMath、IntegerInteger、SystemSystem和和ThreadThread,提供常用功能。提供常用功能。n njava.awt-jav
12、a.awt-包含了构成抽象窗口工具集包含了构成抽象窗口工具集(abstract window toolkitsabstract window toolkits)的多个类,这的多个类,这些类被用来构建和管理应用程序的图形用户些类被用来构建和管理应用程序的图形用户界面界面(GUI)GUI)。n njava.applet-java.applet-包含包含appletapplet运行所需的一些类。运行所需的一些类。n -包含执行与网络相关的操作的类。包含执行与网络相关的操作的类。n njava.io-java.io-包含能提供多种输入包含能提供多种输入/输出功能的输出功能的类。类。n njava.ut
13、il-java.util-包含一些实用工具类,如定义系包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。统特性、使用与日期日历相关的函数。2023/1/28JAVA 语言第4讲4.1.4 访问控制2023/1/28JAVA 语言第4讲4.2继承n n面向对象的编程允许从现有类派生出新类,这面向对象的编程允许从现有类派生出新类,这面向对象的编程允许从现有类派生出新类,这面向对象的编程允许从现有类派生出新类,这称为继承。称为继承。称为继承。称为继承。n n使用继承,程序员可以创建一个定义了多个相使用继承,程序员可以创建一个定义了多个相使用继承,程序员可以创建一个定义了多个相使用继承,程
14、序员可以创建一个定义了多个相关项目共有特性的通用类,然后,其它较为具关项目共有特性的通用类,然后,其它较为具关项目共有特性的通用类,然后,其它较为具关项目共有特性的通用类,然后,其它较为具体的类可以继承该类,同时再添加自己的独有体的类可以继承该类,同时再添加自己的独有体的类可以继承该类,同时再添加自己的独有体的类可以继承该类,同时再添加自己的独有特性。特性。特性。特性。n n在在在在JavaJava中定义的每一种类都是从现有类派生来中定义的每一种类都是从现有类派生来中定义的每一种类都是从现有类派生来中定义的每一种类都是从现有类派生来的,或者是显式或者是隐式(如从的,或者是显式或者是隐式(如从的
15、,或者是显式或者是隐式(如从的,或者是显式或者是隐式(如从ObjectObject类派类派类派类派生)生)生)生)2023/1/28JAVA 语言第4讲134.2.1 超类和子类 n n在在在在JavaJava术语中,如果类术语中,如果类术语中,如果类术语中,如果类C2C2是从另一个类是从另一个类是从另一个类是从另一个类C1C1派派派派生出来的,那么生出来的,那么生出来的,那么生出来的,那么C2C2称为子类,称为子类,称为子类,称为子类,C1C1称为超类。称为超类。称为超类。称为超类。C1C2C3派生派生派生派生超类超类子类子类n n声明一个继承超类的子类的格式:声明一个继承超类的子类的格式:
16、声明一个继承超类的子类的格式:声明一个继承超类的子类的格式:class subclass-name extends superclass-name/body of calss n n示例:示例:示例:示例:SimpleInheritance.java2023/1/28JAVA 语言第4讲/SimpleInheritance.java/SimpleInheritance.java class A class A int i,j;int i,j;void showij()void showij()System.out.println(i and j:+i+j);System.out.println
17、(i and j:+i+j);/创建一个继承超类创建一个继承超类创建一个继承超类创建一个继承超类A A的子类的子类的子类的子类B B class B extends A class B extends A int k;int k;void showk()void showk()System.out.println(k:+k);System.out.println(k:+k);void sum()void sum()System.out.println(i+j+k:+(i+j+k);System.out.println(i+j+k:+(i+j+k);关键字关键字extends2023/1/28J
18、AVA 语言第4讲class SimpleInheritance class SimpleInheritance public static void main(String args)public static void main(String args)A superOb=new A();A superOb=new A();B subOb=new B();B subOb=new B();/The superclass may be used by itself./The superclass may be used by itself.superOb.i=10;superOb.i=10;s
19、uperOb.j=20;superOb.j=20;System.out.println(Contents of superOb:);System.out.println(Contents of superOb:);superOb.showij();superOb.showij();System.out.println();System.out.println();/*The subclass has access to all public members of /*The subclass has access to all public members of its superclass.
20、*/its superclass.*/subOb.i=7;subOb.i=7;subOb.j=8;subOb.j=8;subOb.k=9;subOb.k=9;System.out.println(Contents of subOb:);System.out.println(Contents of subOb:);subOb.showij();subOb.showij();subOb.showk();subOb.showk();System.out.println();System.out.println();System.out.println(Sum of i,j and k in subO
21、b:);System.out.println(Sum of i,j and k in subOb:);subOb.sum();subOb.sum();2023/1/28JAVA 语言第4讲n n超类指父类或者基类,子类指孩子超类指父类或者基类,子类指孩子类、扩展类或者派生类。类、扩展类或者派生类。n n子类从它的超类中继承所有的实例子类从它的超类中继承所有的实例变量和方法,并且可以创建新的数变量和方法,并且可以创建新的数据和方法。据和方法。n n因此,子类总是比其超类具有更多因此,子类总是比其超类具有更多功能。功能。2023/1/28JAVA 语言第4讲4.2.2 成员访问和继承 n n类的实
22、例变量经常被声明为类的实例变量经常被声明为private,以防止未经认可的使用或滥用。以防止未经认可的使用或滥用。n n尽管子类包括超类的所有成员,但它尽管子类包括超类的所有成员,但它不能访问超类中被声明为不能访问超类中被声明为private的的成员。成员。n n示例示例12023/1/28JAVA 语言第4讲/创建一个超类创建一个超类A Aclass Aclass Aint i;int i;/public be default/public be defaultprivate int j;private int j;/private to A/private to Avoid setij(i
23、nt x,int y);void setij(int x,int y);i=x;i=x;j=y;j=y;class B extends Aclass B extends Aint total;int total;void sum()void sum()total=i+j;total=i+j;/出现错误,出现错误,j j不能在子类不能在子类B B中的方法中的方法访问访问 2023/1/28JAVA 语言第4讲n n继承的优点:一旦创建了超类,可以用继承的优点:一旦创建了超类,可以用它创建任意数量更具体的子类。它创建任意数量更具体的子类。n n示例示例InfoPerson.java。2023/1/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 期末 复习 课件 04 面向 对象 程序设计
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内