JAVA课件:第二章 Java面向对象程序设计

上传人:s9****2 文档编号:569464545 上传时间:2024-07-29 格式:PPT 页数:34 大小:380KB
返回 下载 相关 举报
JAVA课件:第二章 Java面向对象程序设计_第1页
第1页 / 共34页
JAVA课件:第二章 Java面向对象程序设计_第2页
第2页 / 共34页
JAVA课件:第二章 Java面向对象程序设计_第3页
第3页 / 共34页
JAVA课件:第二章 Java面向对象程序设计_第4页
第4页 / 共34页
JAVA课件:第二章 Java面向对象程序设计_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《JAVA课件:第二章 Java面向对象程序设计》由会员分享,可在线阅读,更多相关《JAVA课件:第二章 Java面向对象程序设计(34页珍藏版)》请在金锄头文库上搜索。

1、第二章第二章 JavaJava面向对象程序设计面向对象程序设计2.1 Java2.1 Java的类和对象的类和对象 2.2 2.2 域和方法域和方法2.3 2.3 访问控制符访问控制符 2.4 2.4 继承继承 2.5 2.5 接口接口2.1 2.1 类和对象类和对象什么是类?定义一种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。l 程序中的对象 是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。variablesmethodsclass Car String ping1; double price1; String date1; vo

2、id show() ;void qd();(启动)启动)void sc ;(刹车);(刹车)void js() ;(减速);(减速) 计算机中的对象的原型 现实生活中的对象类和对象类和对象类和对象类和对象变量:即指对象的所知道的状态方法:指对象的功能单元。2.1.1 2.1.1 系统定义的类系统定义的类 JavaJava程序设计就是定义类的过程,它分为两大类:程序设计就是定义类的过程,它分为两大类:系统定义的类,即系统定义的类,即JavaJava类库中的类;类库中的类;用户程序自定义的类。用户程序自定义的类。要提高编程效率和质量,必须熟练掌握尽可能多的要提高编程效率和质量,必须熟练掌握尽可能多

3、的JavaJava类库,根据功能的不同,类库,根据功能的不同,JavaJava类库被划分成若类库被划分成若干不同的包,每个包中都有不少具有特定功能和关干不同的包,每个包中都有不少具有特定功能和关系的类和接口。系的类和接口。 常用包(一)常用包(一)1 1 java.langjava.lang包包该包是该包是JavaJava语言的核心类库,包含了运行语言的核心类库,包含了运行JavaJava程序必不可程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等。理、线程、异常处理类等。每个每个JavaJava程序运行时,系统

4、都会自动引入程序运行时,系统都会自动引入java.langjava.lang包,所包,所以这个包的加载是缺省的。以这个包的加载是缺省的。2 2java.iojava.io包包该包是该包是JavaJava语言的标准输入语言的标准输入/ /输出类库,包含了实现输出类库,包含了实现JavaJava程程序与操作系统、用户界面以及其它序与操作系统、用户界面以及其它JavaJava程序做数据交换所程序做数据交换所使用的类。使用的类。常用包(二)常用包(二)3 3java.utiljava.util包包4 4java.awtjava.awt包包该包是该包是JavaJava语言用来构建图形用户界面(语言用来构

5、建图形用户界面(GUIGUI)的类库,)的类库,它包括了许多界面元素和资源,主要提供三方面的支持:它包括了许多界面元素和资源,主要提供三方面的支持:低级绘图操作,如低级绘图操作,如GraphicsGraphics类等;类等;图形界面组件和布局管理,如图形界面组件和布局管理,如CheckboxCheckbox类、类、ContainerContainer类、类、LayoutManagerLayoutManager接口等;接口等;界面用户交互控制和事件响应,如界面用户交互控制和事件响应,如EventEvent类。类。 常用包(三)常用包(三)5 5java.sqljava.sql包包是实现是实现JD

6、BC(Java database connection)JDBC(Java database connection)的类库。利用它的类库。利用它可使可使JavaJava程序具有访问不同种类数据库的能力,如程序具有访问不同种类数据库的能力,如OracleOracle、InformixInformix、SybaseSybase、SQL ServerSQL Server、DB2DB2等。等。 6 6java.swingjava.swing包包Swing Swing 提供许多新的组件,让你容易地建立精致的图形提供许多新的组件,让你容易地建立精致的图形用户界面。它改进旧的组件,并增加许多组件,像是内用户

7、界面。它改进旧的组件,并增加许多组件,像是内部框架(部框架(internal framesinternal frames),树,表格,和文字编辑器),树,表格,和文字编辑器等等等等Swing Swing 组件比组件比 AWT AWT 组件提供更标准化的跨平台运作机制,组件提供更标准化的跨平台运作机制,使我们朝使我们朝 write once, run anywhere write once, run anywhere 更接近一步。更接近一步。 2.1.2 2.1.2 用户程序自定义类(一)用户程序自定义类(一) 类的一般格式是:类的一般格式是:classHeadclassHead classBo

8、dyclassBody 一个类的定义包含有两个部分的内容:一个类的定义包含有两个部分的内容:classHeadclassHead类头的声明类头的声明classBodyclassBody类体的定义类体的定义类体又由属性(域)和方法组成。类体又由属性(域)和方法组成。 2.1.2 2.1.2 用户程序自定义类(二)用户程序自定义类(二)类头使用关键字类头使用关键字classclass标志类定义的开始,标志类定义的开始,classclass后面跟着类名;后面跟着类名;类体用一对大括号括起,包括属性(域)和类体用一对大括号括起,包括属性(域)和方法两大部分:方法两大部分:其中域对应类的静态属性其中域对

9、应类的静态属性方法对应类的行为和操作。方法对应类的行为和操作。 2.1.2 2.1.2 用户程序自定义类(三)用户程序自定义类(三)完整的类头格式完整的类头格式: :public abstract |final class extends implements 2.1.3 2.1.3 类的修饰符类的修饰符组 成 部 分作 用publicpublic该类可以被其他的任何类访问,没有此修该类可以被其他的任何类访问,没有此修饰符则默认为包的访问权限饰符则默认为包的访问权限abstractabstract该类不能被实例化,即不能创建其对象该类不能被实例化,即不能创建其对象finalfinal该类不能被

10、继承,即没有子类该类不能被继承,即没有子类class class 声明这是一个新类声明这是一个新类extends extends 继承父类继承父类AAAA的一切成员的一切成员implements implements 执行一个或多个接口执行一个或多个接口InterInter等等2.2 2.2 域和方法域和方法 域域域是类和对象的静态属性,它可以是基本数据类型域是类和对象的静态属性,它可以是基本数据类型的变量,也可以是其它类(系统类或用户自定义类)的变量,也可以是其它类(系统类或用户自定义类)的对象。的对象。因此,定义域的操作就是说明变量或创建对象的操因此,定义域的操作就是说明变量或创建对象的操

11、作。作。方法方法方法是类的动态属性,标志了类所具有的功能和操方法是类的动态属性,标志了类所具有的功能和操作,用来把类和对象的数据封装在一起。作,用来把类和对象的数据封装在一起。JavaJava的方法与其它语言中的函数或过程类似,是一的方法与其它语言中的函数或过程类似,是一段完成某种功能的程序段。段完成某种功能的程序段。 2.2.2 2.2.2 方法方法 方法由方法头和方法体组成,其一般格式如下:方法由方法头和方法体组成,其一般格式如下:修饰符修饰符1 1 修饰符修饰符2 2 返回值类型返回值类型 方法名(形式参数列表)方法名(形式参数列表)throwsthrows异常列表异常列表 方法体各语句

12、;方法体各语句; 其中形式参数列表的格式为:其中形式参数列表的格式为:形参类型形参类型1 1 形参名形参名1 1,形参类型,形参类型2 2 形参名形参名2 2, 2.2.3 2.2.3 构造方法构造方法 构造方法构造方法构造方法是与类同名的方法,创建对象的语句用构造方法是与类同名的方法,创建对象的语句用newnew算符开辟了新建对象的内存空间后,将调用构算符开辟了新建对象的内存空间后,将调用构造方法初始化这个新建对象。造方法初始化这个新建对象。构造方法是类的一种特殊方法,其特殊性如下:构造方法是类的一种特殊方法,其特殊性如下:构造方法的方法名与类名相同。构造方法的方法名与类名相同。构造方法没有

13、返回值。构造方法没有返回值。构造方法的作用是对类的对象初始化。构造方法的作用是对类的对象初始化。在创建一个类的新对象的同时,系统会自动调用在创建一个类的新对象的同时,系统会自动调用该类的构造方法。该类的构造方法。 2.2.4 2.2.4 创建对象创建对象创建对象创建对象创建对象的一般格式为:创建对象的一般格式为:类名类名 新建对象名新建对象名 = new = new 构造方法()构造方法()例如:例如: Hero gj = new Hero();Hero gj = new Hero();Scanner sc = new Scanner(System.in);2.3 2.3 访问控制符访问控制符

14、 访问控制符是一组限定类、域或方法是否可以被访问控制符是一组限定类、域或方法是否可以被程序里的其它部分访问和调用的修饰符。程序里的其它部分访问和调用的修饰符。类的访问符只有类的访问符只有publicpublic。域和方法的访问控制符有三个:域和方法的访问控制符有三个:publicpublicprivateprivateprotectedprotected2.3.12.3.1公共访问控制符公共访问控制符publicpublic(一)(一)1 1类类JavaJava的类是通过包来组织,处于同一包中的类可的类是通过包来组织,处于同一包中的类可以不需任何说明而方便的互相访问和引用,而对以不需任何说明而

15、方便的互相访问和引用,而对于处于不同包中的类,缺省的它们是互相之间不于处于不同包中的类,缺省的它们是互相之间不可见的。可见的。但是,当一个类被声明为但是,当一个类被声明为publicpublic时,它就具有了时,它就具有了被其它包中类访问的可能性,只要这些包中的类被其它包中类访问的可能性,只要这些包中的类在程序中使用在程序中使用importimport语句引入语句引入publicpublic类,就可访类,就可访问它了。问它了。2.3.12.3.1公共访问控制符公共访问控制符publicpublic(二)(二)2 2方法方法被定义为被定义为publicpublic的方法是这个类对外的接口部分,的

16、方法是这个类对外的接口部分,程序的其它部分通过调用程序的其它部分通过调用publicpublic方法达到与当前类方法达到与当前类交换信息、甚至影响当前类的目的。交换信息、甚至影响当前类的目的。2.3.12.3.1公共访问控制符公共访问控制符publicpublic(三)(三)3 3域域用用publicpublic修饰的域被称为公共域,如果一个修饰的域被称为公共域,如果一个公共域属于一个公共类,则它可被所有其它公共域属于一个公共类,则它可被所有其它类所引用。类所引用。publicpublic修饰符会造成安全性和数据封装性下修饰符会造成安全性和数据封装性下降,所以一般应减少降,所以一般应减少pub

17、licpublic域的使用。域的使用。 2.3.22.3.2缺省访问控制符缺省访问控制符 假如一个类没有访问控制符,缺省的认为该假如一个类没有访问控制符,缺省的认为该类只能被同一个包中的类访问,这种访问特类只能被同一个包中的类访问,这种访问特性又称性又称包访问性包访问性。同理,类内的域和方法如果没有访问控制符,同理,类内的域和方法如果没有访问控制符,也说明它们具有包访问性,可以被同一个包也说明它们具有包访问性,可以被同一个包中的其它类所访问和调用。中的其它类所访问和调用。 2.3.32.3.3私有访问控制符私有访问控制符 (一)(一)用用privateprivate修饰的域或方法只能被该类自身

18、所访问修饰的域或方法只能被该类自身所访问和修改,而不能被任何其它类(包括该类的子类)和修改,而不能被任何其它类(包括该类的子类)来获取和引用。来获取和引用。privateprivate修饰符提供了最高的保护级别。修饰符提供了最高的保护级别。例如:在例如:在200200电话卡类电话卡类PhoneCard200PhoneCard200中,电话卡的中,电话卡的密码密码passwordpassword不能允许其它类或对象随意查看或修不能允许其它类或对象随意查看或修改,所以这个域可以声明为私有的:改,所以这个域可以声明为私有的:private int password; private int pass

19、word; 2.3.42.3.4保护访问控制符保护访问控制符protectedprotected 用用protectedprotected修饰的域和方法可以被三种类引用:修饰的域和方法可以被三种类引用:该类自身;该类自身;与它在同一个包中的其它类;与它在同一个包中的其它类;在其它包中的该类的子类。在其它包中的该类的子类。使用使用protectedprotected修饰符的主要作用是允许包中的类修饰符的主要作用是允许包中的类和其它包中的子类来访问父类的特定属性。和其它包中的子类来访问父类的特定属性。 2.4 2.4 继承(一)继承(一) 当一个类拥有另一个类的数据和操作时,就称当一个类拥有另一个

20、类的数据和操作时,就称这两个类之间具有继承关系,被继承的类称为这两个类之间具有继承关系,被继承的类称为父类父类或或超类超类,继承的类称为,继承的类称为子类子类。一个父类可以同时拥有多个子类,该父类实际一个父类可以同时拥有多个子类,该父类实际上是所有子类的公共域和公共方法的集合,而上是所有子类的公共域和公共方法的集合,而子类是父类的特殊化,可对公共域和方法在功子类是父类的特殊化,可对公共域和方法在功能、内涵方面加以扩展和延伸。能、内涵方面加以扩展和延伸。 2.4 2.4 继承(二)继承(二)面向对象的继承特性中,还有一个关于单继承和多面向对象的继承特性中,还有一个关于单继承和多继承的概念。继承的

21、概念。单继承是指任何类都只有一个父类。单继承是指任何类都只有一个父类。多继承是指一个类可以有一个以上的父类,它静态数据多继承是指一个类可以有一个以上的父类,它静态数据和操作从所有这些父类中继承的。和操作从所有这些父类中继承的。JavaJava只支持单重继承,但支持界面,一个类可以实只支持单重继承,但支持界面,一个类可以实现多个界面。利用界面可以得到多继承的优点,又现多个界面。利用界面可以得到多继承的优点,又没有多继承混乱、复杂的问题。没有多继承混乱、复杂的问题。 2.4.2.4.继承继承(三)(三)JavaJava中的继承是通过中的继承是通过extendsextends关键字来实现的关键字来实

22、现的class class 子类名子类名 extends extends 父类名父类名 2.5 2.5 接口(一)接口(一)接口(接口(interfaceinterface)也称为界面,在其声明语法上)也称为界面,在其声明语法上有些类似于类。有些类似于类。实际上,完全可以把接口实际上,完全可以把接口理解为理解为一种特殊的类,一种特殊的类,一种由常量和抽象方法组成的特殊类。一种由常量和抽象方法组成的特殊类。在在JavaJava中,出于简化程序结构的考虑,不支持类中,出于简化程序结构的考虑,不支持类间的多重继承而只支持单重继承,即一个类至多间的多重继承而只支持单重继承,即一个类至多只能有一个直接父

23、类。只能有一个直接父类。接口是用来实现类间多重继承功能的结构。接口是用来实现类间多重继承功能的结构。2.5.1 2.5.1 接口的声明(一)接口的声明(一)接口的定义格式为:接口的定义格式为: interfaceDeclaration interfaceDeclaration interfaceBody interfaceBody 其中:其中:interfaceDeclarationinterfaceDeclaration为接口声明部分,为接口声明部分,interfaceBodyinterfaceBody为接口体部分;为接口体部分; 2.5.1 2.5.1 接口的声明(二)接口的声明(二)1.

24、 1. 接口声明部分接口声明部分 public interface public interface 接口名接口名extends extends 父接口父接口1 1,父接口,父接口2 2, 2.5.1 2.5.1 接口的声明(三)接口的声明(三)其中:其中: publicpublic指明任意类均可以使用这个接口。在缺省指明任意类均可以使用这个接口。在缺省情况下,只有与该接口定义在同一个包中的类才情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。可以访问这个接口。 extendsextends子句与类声明中的子句与类声明中的extendsextends子句基本相同,子句基本相同,不同的是一个接口可以有多个父接口,用逗号隔不同的是一个接口可以有多个父接口,用逗号隔开,而一个类只能有一个父类。子接口继承父接开,而一个类只能有一个父类。子接口继承父接口中所有常量和方法。口中所有常量和方法。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号