第7章 Java 对象 - 副本

上传人:豆浆 文档编号:47431430 上传时间:2018-07-02 格式:PPT 页数:83 大小:5.86MB
返回 下载 相关 举报
第7章 Java 对象 - 副本_第1页
第1页 / 共83页
第7章 Java 对象 - 副本_第2页
第2页 / 共83页
第7章 Java 对象 - 副本_第3页
第3页 / 共83页
第7章 Java 对象 - 副本_第4页
第4页 / 共83页
第7章 Java 对象 - 副本_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《第7章 Java 对象 - 副本》由会员分享,可在线阅读,更多相关《第7章 Java 对象 - 副本(83页珍藏版)》请在金锄头文库上搜索。

1、1第七章 面向对象编程基础学习目标面向对象编程的思想。类的定义:类的首部、类的成员变量、类的成员方法。 访问控制符:public、private、protected。静态域:静态成员、静态方法。方法重载。创建对象。构造方法。对象作为方法的参数、返回值;对象作为类的成员。 关键字this。包27.1 引言就程序设计的技术而言,可以分为“面向过程程序设计”和 “面向对象程序设计”两种。它们的区别在哪里呢?在Java语言中,前者就是只依靠局部变量 及语句 来编程!例如,下面这个求x的绝对值的程序:public class Example7-1 public static void main( Str

2、ing args ) int x = -10, xAbsolute;/计算x的绝对值 if ( x = 0 ? n : -n;double x = 2, nPowX = 1;for( int i = 1; i = 0 ? nPowX : 1 / nPowX; 大家也许觉得很奇怪,上面这两个程序都没有使用输入输出 的操作!因为,在Java语言中,并没有用于输入输出操作的语句! 而输入输出操作都是由Java API中的对象或方法来实现的。那什么是Java API(或叫做Java类库)呢?它就是由JDK提供的、为便于用户开发Java程序而预定义的 类和接口(即许多预定义的程序段)的软件包。4Java

3、语言之所以被称为是一种“完全面向对象”的程序设计语言,其原因就在于:1)一个程序在结构上至少是一个类(class)。/类是对象的类型。 2)每个程序都离不开对象(尤其是Java API中的对象)。例如,输入操作必须要使用诸如下面的对象:/创建一个用于输入数据的对象input Scanner input = new Scanner (System.in); /调用对象input的方法Double double radius = input.nextDouble(); 而输出操作则要使用诸如下面的方法:/调用类对象System.out的方法println System.out.println(.)

4、; 5很显然,在任何一个JAVA程序中,对象是无处不在的。 下面,我们使用对象来重写前面那个求x的绝对值的程序:import java.util.Scanner; public class Example7-3 public static void main( String args )Scanner input = new Scanner (System.in);System.out.print(“请输入一个任意数:“);double x = input.nextDouble();System.out.println( x + “的绝对值为“ + Math.abs(x) );6下面,我们再来

5、重写前面那个求xn的程序:import java.util.Scanner; public class Example7-4 public static void main( String args )Scanner input = new Scanner (System.in);System.out.print(“请输入一个任意数x: “);double x = input.nextDouble();System.out.print(“请再输入一个次方n(n0):“);int n = input.nextInt();System.out.println(x+“的“+n+“次方为“+Math.

6、pow( x, n );程序中的每一条语句似 乎都与Java API中的类、 对象或方法有关。而这样 的程序司空见惯!如果没有类和对 象, Java程序将 寸步难行!77.2 关于JAVA API 软软件包为了降低用户设计JAVA程序的难度和提高程序设计的效率,JAVA向广大用户提供了许多基础性的、常用的类。 这些类按功能的不同被分装成若干包,这些包被统称为 “JAVA类库”。你可以在程序中使用语句 import 来方便地导入并使用JAVA类库中的予定义类。然而,在使用它们之前,你最好首先去查阅 Java API的说明文档中关于软件包和类的主题,以便了解它们的功能以及使用方式。8在目前比较流行

7、的JAVA1.6x版本中,它们的类库通常都提供有以下这些软件包: 下面简单介绍JAVA类库的结构及其中的一些常用类。97.2.1 语语言类库类库 java.lang语语言类库类库 的包名为为java.lang。它包含了JAVA语语言中最基本 的类类,是JAVA编编程的基础础。由于几乎每个JAVA程序都要使用该该 类库类库 中的类类,因此,JAVA编译编译 器会自动导动导 入该该包中所有的类类, 而你就不必再使用import语语句来导导入它们们了。 包java.lang中主 要包括以下常用类类:系统类统类 :System数学函数类类:Math 字符串类类:String、StringBuffer

8、基本对对象类类:Object 基本数据类类型包装类类:Number、Character、Boolean、Float、Double、Integer、Long 线线程类类:Thread 大部分异常类类:.Exception107.2.2 输输入输输出类库类库 java.io输输入输输出类库类库 的包名为为 java.io。它包含了用于支持数据 输输入输输出的各种类类。用户户可以通过过使用这这些类类来实现实现 各种数 据的输输入输输出以及文件处处理。包 java.io中主要包括以下常用类类:各种输输入流类类各种输输出流类类文件类类117.2.3 实实用类库类库 java.util实实用工具类库类库

9、的包名为为java.util。该该包中的这这些类类封装了处处 理相应应数据结结构的有关方法。你可以在程序中通过过使用这这些类类中 的方法,来方便地存储储和处处理各种数据结结构对对象。包java.util中主要包括以下常用的数据结结构类类:日期类类:Date数组类组类 :Arrays向量类类:Vector随机函数类类:Random哈希表类类:Hashtable堆栈类栈类 :Stack127.2.4 抽象窗口工具类库类库 java.awt抽象窗口工具类库类库 的包名为为java.awt。它所包含的这这些类类 ,为为用户户提供了生成基本图图形用户户界面的类类。包java.awt主要包括诸诸如窗口、按

10、纽纽、对话对话 框、菜单单等处处 理基本用户户界面元素的类类,以及诸诸如单击单击 、双击击、按键键等处处理 用户动户动 作的事件对对象。7.2.5 小应应用程序类库类库 java.applet小应应用程序类库类库 的包名为为java.applet。它为为小应应用程序 的实现实现 提供了全面的支持。小应应用程序是指可以在浏览浏览 器中运 行的JAVA程序。137.2.7 网络类库网络类库的包名为。它为实现各种网络功能提供了相关的类和接口。7.2.6 图形用户界面工具包javax.swing图形用户界面(GUI)工具包javax.swing是JAVA最新的图形编程的类库。它是由java.apple

11、t包和java.awt包发展而来的。它给JAVA的图形编程和applet编程带来了新的特性,它几乎可以取代(并不完全取代)java.applet包和java.awt的作用 。有关以上内容的最新详情,请参考JAVA官方网站: http:/ 类类的定义义经验告诉我们,要想开发和维护一个大型程序的最佳办法, 就是使用更容易编写和管理的小程序段和模块方法和类来 构造程序。这一技术称为“分而治之,各个击破”。然而,在JAVA的语法中,方法是与类及对象联系在一起的。 想要定义一个方法,必须首先定义一个类。想要调用一个方法, 必须先要创建一个对象.其实,一个Java程序的设计,就是通过将我们自己编 写的新方

12、法和新类,与Java API中的方法和类相结合来 完成的。15下面,我们先来看一个自定义类及其对象的使用例子。 class Rectangle /定义一个关于矩形的类private double width, height; /声明成员变员变 量: 矩形的宽宽、高 /定义成员方法:“设置矩形的宽和高” void set( double w, double h ) width=w; /将参数w的值赋给值赋给 成员员width height=h; /将参数h的值赋给值赋给 成员员height double area( ) /定义义成员员方法:“求面积积” return width*height;

13、/返回面积值积值 /类Rectangle定义结束 public class Example7-5 /定义主类,测试类Rectangle public static void main( String arg ) Rectangle MyRect = new Rectangle(); /创建对象MyRect. set( 20, 30 ); /给矩形MyRect的宽和高赋值System.out.println(“面积积是:“+ MyRect. area() ); 16正如大家所看到的那样,对象是这样一种数据:它是一个将自身数据和处理这些数据的方法封装在一起的封装体。class Rectangle

14、private double width, height; void set( double w, double h ) width=w; height=h; double area( ) return width*height; 对象是程序所要处 理的实体例子(包括 数据成员和处理数据 的方法)。而类则是 对象的类型。类型Rectangle widthwidth heightheight set()set()area() area()widthwidth heightheight set()set()area() area()创建实例MyRectRectangle MyRect = new

15、Rectangle();new17下面的这些说法,都是对面向对象编程特点的概括和解释: 一个运行着的程序,其执行的任务是由对象承担的。 面向对象的程序设计是围绕对象(不是变量!)来编程的。 每当我们在确定一个问题的需求时,首先应该确定的是:“这个问题中包含了哪些(逻辑上的)对象?”因为,一个程序所要执行的任务,都可以由程序中的某些 对象来完成!public class Example7-5 /定义主类,测试类Rectangle public static void main( String arg ) Rectangle MyRect = new Rectangle(); MyRect. set( 20, 30 ); System.out.println(“面积积是:“+ MyRect. area() ); 再来仔细观察上面这个主类:程序所要实现的任务是通过调用对象的方法来完成的。18为了能设计出自己想要的类,我们必须掌握Java定义类的一套语法规则。另一方面,为了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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