《[工学]面向对象程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《[工学]面向对象程序设计实验指导书.doc(185页珍藏版)》请在三一办公上搜索。
1、面向对象程序设计实验指导书 广东商学院信息学院二00九 年 十二 月 目 录实验项目一 Java 程序运行环境3实验项目二 Java面向对象特性试验3实验项目三 Java 异常处理及输入输出流技术试验44实验项目四 Java AWT及Swing应用开发试验79实验项目五 Java Applet及多线程开发实验98实验项目六 Java 网络应用程序开发试验124实验项目七 Java数据库技术开发实验151实验项目一 Java面向对象特性试验1.1 预备知识1.1.1 Eclipse 开发运行环境介绍第1节Eclipse基础应用 Eclipse是一个开放源代码的软件开发项目,它是一个基于Java的
2、可扩展开发平台。它最初由蓝色巨人IBM所释出。现在这个由IBM花了4千万美元开发的Eclipse已经成为开放源代码计划(Open Source Project),但是大部分的开发仍然掌握在IBM手中,有一部分由eclipseorg的软件联盟主导(http:/www.eclipse.org)。1.1 Eclipse概述 Eclipse是一个集成开发环境(Integrated Development Environment,简称IDE),其前身是IBM的Visual Age For Java(VAFJ)。目前,由IBM牵头,Eclipse项目已经成为一个庞大的联盟,有150多家软件公司参与到其中,
3、包括Borland,Rational Software,Red Hat及Sybase。Oracle也计划加入到Eclipse联盟中。就其本身而言,Eclipse只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse拥有一个标准的插件集,核心插件是:平台(Platform)、开发工具箱(Java Development Toolkit,简称JDT)和插件开发环境(Plugin Development Environment,简称PDE)。Eclipse通过插件组件构建开发环境,正是这种基于插件的设计和开发方式使得Eclipse的第一版(10版)在2001年11月问世以来,逐渐受到越
4、来越多的开发者的欢迎。 1.2 Eclipse平台体系结构 Eclipse平台是一个具有一组强大服务的框架,这些服务支持插件,比如JDT和插件开发环境(PDE)。它由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助。如图1:l所示为Eclipse平台体系结构。图1-1 Eclipse平台体系结构1.2.1平台运行库 平台运行库是内核它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为减少启动时间和资源使用,它在实际需要某一插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。1.2.2工作区工作区是负责管理用户资源的插件。包括用户刨建的项目、项目中的文件,文
5、件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。1.2.3工作台 工作台为Eclipse提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的API(JFace)来构建的;SWf是Java的swingAWT GUI API的非标准替代者,JFace则建立在SWT基础上,提供用户界面组件。 SWT已被证明是Eclipse最具争议的部分。它比Swing或AWT更紧密地映射到底层操作系统的本机图形功能,这不仅使得SWT更快速,而且使得Java程序具有更像本机应用程序的外观和感觉。使用这个新的GUI API可能会限制Eclipse工作台的可移植性,不过针对
6、大多数流行操作系统的SWI移植版本已经可用。 Ecfipse对SWT的使用只会影响Eclipse自身的可移植性,使用Eclipse构建的任何Java应用程序都不会受到影响,除非它们使用SWT而不是SwingAWT。1.2.4团队支持 团队支持组件负责提供版本控制和配置管理支持。它根据需要添加视图以允许用户与所使用的任何版本控制系统(如果有的话)交互。太多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。1.2.5帮助 帮助组件具有与Eclipse平台本身相当的可扩展能力。与插件给Eclipse添加功能相同帮助提供一个附加的导航结构允许工具以HTMI文件的形式添加文档。1.3安装与配置
7、 Eclilpse是开放源代码的项目,可以免费下载。它的官方网址是:http:/wwwcclipseorg。官方网站提供ReleasesStable Builds,Integration Builds和Nightly Builds的下载。建议使用Releases或Stable Builds版本。Releases版本是Eclipse开发团队发布的主要发行版本,是经过测试的稳定版本,适合要求稳定而不需要最新改进功能的使用者选择。Stable Builds版本对于大多数使用者来说也足够稳定,它由开发团队将其认为比较稳定的Integration Builds版本升级而来,适合想使用Eclipse新功能
8、的使用者选择。1.3.1 JDK安装与配置 Eclipse是一个基于Java平台的开发环境,它本身也要运行在Java虚拟机上,还要使用JDK的编译器,因此必须首先安装JDK才能使用。步骤如下。 (1)首先登录SUN公司的官方网址,下载JDKl.6最新的Windows版本。 (2)安装JDK1.6,可自行设定安装目录,如C:Program Filesjdk1.6.0 (3)设置系统变量JAVA_HOME。右键单击“我的电脑”,依次选择“属性”“高级”“环境变量”选项,则系统将弹出“环境变量”对话框,如图1-2所示。在“系统变量”部分中,单击“新建”按钮,弹出“新建系统变量”对话框,在“变量名”文
9、本框中输入“JAVA HOME”,在“变量值”文本框中输入JDK的安装路径,如“C:Program Filesjdk1.6.0”,如图1-3所示,单击“确定”按钮即可完成配置。 (4)设置系统变量“CLASSPATH”。操作同步骤(3),但在新建系统变量时,须在“变量名”中输入“CLASSPATH”,“变量值”中输入“.C:Program Filesjdkl.6.0libdt.jar;C:Program Filesjdkl.6.0libtools.jar”,注意不要漏掉“.;”,如图1-4所示,单击“确定”按钮完成配置。 (5)编辑系统变量Path。在“环境变量”对话框中选中“Path”系统变
10、量,单击“编辑”按钮,则会弹出“编辑系统变量”对话框,在“变量值”文本框的最后加入“C:Program Filesjdkl.6.0bin” 如图1-5所示。(6)至此JDK已经安装配置完毕。下面测试JDK是否配置正确。将以下内容复制到记事本中,另存为HelloJAVA.java,并保存到C盘根目录下。publie class HelloJAVA public static void main(String args ) System.out.println(Hello JAVA!); (7)在命令行界面输入 :javac HelloJAVA.java并按下Enter键,若输出“Hello JA
11、VA!”则说明JDK配置成功。图1-2 “环境变量”对话框图1-3新建JAVA_HOME环境变量图1-4新建CLASSPATH环境变量图1-5编辑Path环境变量1.3.2 Eclipse安装与配置 (1)登录Eclipse的官方网址http:/www.eclipse.org ,单击“Downloads”按钮,进入下载页,下载安装包“Eclipse IDEfor Java Developers”。 (2)安装Eclipse的步骤非常简单只需要将下载的压缩包直接解压即可。将解压文件夹复制到 C:Program FilesEclipse下即可,之后在桌面上建立eclipse.exe文件的快捷键并运
12、行。(3)配置Eclipse。首先启动Eclipse,如果是初次启动的话,可以看到如图1-6所示对话框,征询用户将工作空间设置到何处。工作空间是以后教学开发时程序工作的地方。为了数据的安全,建议将其设置到非系统盘,以免日后发生意外时丢失数据。如果是初次启动的话,Eclipse将显示一个欢迎界面,如图1-8所示。图1-7“首次启动Eclipse工作空间”对话框 第2节 Eclipse中的JDT Eclipse就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,简称
13、JDT)。Eclipse还包括插件开发环境(Plug-in Development Environment,简称PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。本章主要讲述Eclipse中的JDT2.1 EcIipse工作台简介 Eclipse工作台(workbench)是一个高级用户界面框架。它提供了个性化的用户界面以及工具与用户进行交互的结构。工作台与Eclipse平台界面以及平台运行时用户看到的主窗口是同义的。工作台API独立于SWT API,并且对JFace的依赖较少。Eclipse工作台是在Jface,SWT和平台
14、核心的基础上构建的,没有使用Java AWI和Swing。2.1.1工作台概述 Eclipse工作台是基于编辑器(editor),视图(view)和透视图(perspective)的。从用户的角度上看,工作台窗口由视图和编辑器组成。透视图体现在选择和安排屏幕上可见的编辑器和视图。 编辑器允许用户打开、编辑和保存对象。它们遵循打开一保存一关闭这样一个生命周期,这比较像基于文件系统的工具,但紧密地集成在工作台中。当激活时,编辑器可以向工作台的菜单和工具栏提供action。平台为文本资源提供了标准编辑器,其他插件提供更特殊的编辑器。 视图提供关于工作台正在处理的对象的相关信息。视图可以辅助编辑器提供
15、关于正在编辑的文档的相关信息。例如,标准内容大纲视图显示了当前活动编辑器中的内容的大纲。一个视图还可以通过提供当前选择对象的相关信息来补充另一个视图的内容。例如,标准的属性视图显示了另一个视图选择的对象的属性。视图的生命周期比编辑器简单:在视图中进行的修改(例如修改一个属性值)通常立即被保存,修改立即反映到用户界面的相关部分。平台提供许多标准视图;还有一些视图由其他插件提供。 工作台窗口可以有多个独立透视图,在给定的时刻,只有一个可见。每个透视图都有自己的视图和编辑器,它们被安排(平铺、叠放、漂浮)显示在屏幕上(其中一些在特定时刻不可见)。在透视图中,同一时刻可以打开多个同类型的视图和编辑器。
16、透视图控制初始视图的可见性、布局以及action的可见性。用户可以快速切换不同的透视图,执行不同的任务,可以很容易地重新安排和自定义一个透视图,使之更适合于某个特殊的任务。Eclipse工作台提供了标准的透视图用于资源导航、在线帮助和团队支持任务。其他的透视图由其他插件提供。 2.1.2 Eclipse菜单与工具栏 Eclipse菜单和工具栏和平常我们所熟悉的那些应用程序类似。其便利的特性之一就是不同透视图的快捷方式工具栏,它显示在屏幕的右端:这些特性随上下文和历史的不同而有显著差别。Eclipse还附带了一个强大的帮助系统,其中包括Eclipse工作台以及所包括的插件(比如Jaya开发工具)
17、的用户指南。至少浏览一遍这个帮助系统是值得的,这样可以看到有哪些可用的选项,同时也可更好地理解Eclipse的工作流程。 第一次打开Eclipse时,首先看到的是如图2-1所示的欢迎界面,图2-2为Eclipse菜单和工具栏。图2-1 首次启动Eclipse的欢迎界面图2-2 Eclipse的菜单和工具条2.2透视图Eclipse工作台包含一个或多个透视图。但是,同一时刻仅仅可以显示一个透视图。每个透视图都有它自己的一组视图和编辑器,如图2-3所示其目的在于完成特定类型的任务或使用特定类型的资源。透视图定义针对给定用户任务的视图、这些视图的布局和可用操作的集合。当用户在各任务之间移动时他们可以
18、在各透视图之间进行切换。用户的活动透视图控制这些视图显示在工作台页面上,并控制其位置和大小。透视图中的更改不会影响编辑器。在Edlpse的Java开发环境中提供了几种透视图,如资源透视图(Resource Perspective)、Java透视图(Java Perspective)、调试透视图(Debug Perspective)、CVS资源浏览透视图(Team Perspective)等。所有透视图共享同一组编辑器。每个透视图都提供了一组功能,例如,Java透视图将编辑lava源文件时常用的视图组合在一起,而调试透视图包含在调试lava程序时使用的视图。当在工作台中工作时,将有可能频繁地在各
19、个透视图之间进行切换。221透视图操作图2-3 Eclipse透视图2.2.1 打开透视图1. 打开透视图 打开Eclipse,默认的透视图是资源(Resource)透视图,它是一个基本的通用视图集用于管理项目以及查看和编辑项目中的文件。可以通过如下几种方法打开其他透视图。 (1)在菜单栏中选择 “窗口(Window)”“打开透视图(Open Perspective)”菜单命令打开透视图,如图2-4所示。如果列表中没有所需要透视图,单击“Other”菜单命令,即可选择更多透视图,如图2-5所示。图2-4 打开透视图 图2-5 “选择透视图“对话框(2)单击工具栏“”按钮,如图2-6所示,选择相
20、应透视图。图2-6 在工具条中选择透视图当透视图打开时,它所在的窗口显示的标题栏将更改为该透视图的名称。并且,还会将一个图标添加至快捷方式栏,允许用户从同一窗口中的其他透视图快速切换回该透视图。默认情况下,透视图将在同一窗口中打开。如果要在新窗口中打开它,可以选择“窗口(Window)” “首选项(Preference)” “常规(General)” “透视图(Perspectives)”菜单命令来配置默认行为,如图2-7所示。图2-7设置打开透视图行为 2. 定制透视图 在进行资源管理或者其他任务的时候,可能需要更多的功能支持。这时可以选择“窗口(Window)” “定制透视图(Custor
21、mize Perspective)”,然后,选择“命令(Commands)”选项卡。在弹出的对话框中,可以看到有很多的命令组,命令组给我们提供了进行特定操作所需要的功能。单击“小组(Team)”使其高亮显示,可以看到与其相关的详细信息。如果选择“小组(Team)”,详细信息中给出的菜单项和工具栏项将会出现在透视图中,如图2-8所示。如果要将透视图恢复为最初的原始状态,则可以选择“窗口(Window)” “定制透视图(Customize Perspective)”菜单命令取消相关的命令组,或者使用“窗口(Window)” “复位透视图(Reset Perspective)”菜单命令。2.2.2资
22、源透视图图2-8定制透视图资源是指存在于工作台中的项目、文件夹和文件。资源透视图(Resource Perspective)主要用来帮助用户进行资源管理。我们可以看到,资源透视图主要包括导航器视图、大纲视图、任务视图和一个编辑器。当进行文件编辑的时候,编辑器会自动启动,它将位于任务视图的上方。如图2-9所示。图2-9 资源透视图2.2.3 Java透视图Java透视图(Java Perspective)将编辑Java源文件时常用的视图组合在一起,它们是一组更适合于Java开发的视图。其中之一就是被称为Package Explorer的视图,它是一个包含各种Java包、类、jar和其他文件的层次
23、结构,位于页面的左侧,在第三节中将会具体介绍。如图2-9所示。2.2.4调试透视图调试透视图(Debug Perspective)包含将在调试Java程序时使用的视图,这个透视图包含了一个进程视图,显示出所有当前正在运行和虽近终结的进程,还包含一个控制台视图,允许开发人员通过标准的输入和输出流与被选中的正在运行的进程交互。2.2.5 CVS资源浏览透视图通常CVS的主要功能是记录源文件的历史。当一组人员从事开发同一个项目时,CVS会将他们彼此隔离开来。每个开发人员都在其自己的目录中独立工作,然后使用CVS资源库(不时地)合并工作结果。Ecllpse拥有与其IDE紧密集成的内置CVS客户机,它是
24、作为一个单独透视图(CVS Repository Exploring透视图)而实现的,用于与CVS的交互。作用于CVS的通用Eclipse设置(General Eclipse settings for CVS)可通过选择“窗口(Window)” “首选项(Preferences)” “小组(Team)”菜单命令来实现,如图2-10所示。在切换到CVS Repository Exploring透视图之后,就可以使用所有CVS操作了。图2-10 设置CVS 透视图2.3 JDT相关视图视图支持编辑器并提供浏览工作台中的信息备用显示和方法。例如,导航器视图显示正在使用的项日和其他资源。视图工具栏上的
25、按钮表示的操作仅对该视图中的各项起作用。视图可能会单独出现,也可能与其他视图叠放在一起。在工作台窗口中,可通过打开和关闭视图,以及通过将它们停放在不同的位置,来更改透视图的布局。可以通过单击“窗口(Window)” “显示视图(Show View)”菜单命令打开视图如图2-11所示。图2-11 JDT相关视图2.3.1 包资源管理视图 包资源管理视图(Package Explorer)显示了Java项目中的编译单元或JAR库文件中的类文件,它是一个包含各种Java包、类、如和其他文件的层次结构,在树状图中显示的元素和关系直接来自于Java模型。2.3.2导航器视图 导航器视图(Navigati
26、on)提供了工作台中资源的分层视图。在导航器视图里,可以打开文件以进行编辑,或选择资源以进行某些操作(例如导入)。在导航器视图的标题栏上,从左至右依次是视图名称、后退按钮、前进按钮、向上按钮、全部折叠按钮、编辑器链接按钮、视图下拉按钮。 在导航器视图中的任何资源上都可以通过单击鼠标右键以打开弹出菜单,该菜单允许用户执行诸如复制、移动、创建新资源、将资源相互比较等操作。 另外还可以通过在导航器视图的标签上单击鼠标右键来访问一个隐藏的菜单:上下文菜单。可以看到有个快速视图选项,该选项允许将当前的导航器创建成为快速视图。所谓快速视图是隐藏视图。简而言之,就是将当前视图最小化,变成一个可操作的按钮,按
27、钮位于工作台窗口左下方的快捷方式栏中。2.3.3 问题视图 问题视图(Problems)中标记了工作台中各种资源所生成的错误、警告和问题。例如,当编译Jaya源文件过程中出现错误时,这些错误就会自动被记录在问题视图中。当双击表示问题、错误或警告的图标时,关联的编辑器会自动打开相应的代码行并且高亮显示。例如修改test类代码如下: package comt; public class test public static void main(String args) System.out.println(str); 则在问题视图中会显示如图2-12所示错误信息。该信息表示变量str未定义。在匕面
28、的代码中我们也可以看到str未定义。我们还可以看到错误文件的名称、存放位置、出错位置等信息,双击出错行,编辑器会自动定位相应的代码行并且高亮显示。图2-12问题视图2.3.4 控制台视图 控制台视图(Console)允许开发人员通过标准的输入和输出流与用户所选择的正在运行的进程交互,如图2-13所示。图2-13 控制台视图2.4 Java编辑器 主要介绍Java编辑器使用。所有文件的显示和编辑都包含在编辑窗口里。默认情况下打开的多个文件将以标签(TagTable)方式在同一个窗口中排列,可以用拖动方式将这些文件排列成各种布局。方法是拖动某一个文件的标签(tag)到编辑窗口的边框,当光标有相应的
29、变化时再释放。当文件被加入到项目中后,在资源浏览或Java包浏览窗口双击文件,Eclipse会试图打开这个文件:其中Eclipse内嵌的编辑器能默认打开一些文件,如*Java,*class等。如果是其他类型的文件,Eclipse会调用操作系统相应的默认编辑器打开,如word文档、PDF文件等。当然,可以定制文件打开方式方法是选择菜单栏中的“窗口(Window)” “首选项(Preferences)”打开对话框,选择“常规(General)” “文本编辑器(Editor)“文件关联(File Associations)”菜单命令,然后添加文件类型,如 *html,再为其指定编辑器即可。2.4.1
30、打开编辑器 以导航器视图(Navigation)为例,有以下三种方法可以打开一个编辑器: (1)在视图中,双击要打开的文件。 (2)在视图中,在要打开的文件上单击鼠标右键在下拉菜单中选择“打开(Open)”选项打开。 (3)在视图中,在要打开的文件上单击鼠标右键,在下拉菜单中选择“Open With)”,从中选择一个打开该文件的方式。根据当前将要编辑的文件类型,在编辑区域将会显示合适的编辑器。例如,如果打开一个test.java文件,将会打开一个Java编辑器。用鼠标双击编辑器标签(tab),可以使它最大化,占据整个窗口。再次双击标签,编辑器重新恢复到原来的大小。2.4.2 上下文提示功能上下
31、文提示功能为开发人员完成代码的编写提供了快捷、方便的途径。只要输入部分代码按款借鉴“Alt+/”就会出现相应的代码提示,或者输入完整的类名称或对象名称,再输入“”就会出现相应类或对象的属性和方法,如图2-14 所示。快捷键的设置方法是选择“窗口(Window)” “首选项(Preferences)”菜单命令,打开对话框,单击“常规(General)” “键(Keys)”选项教学设置,设置上下文提示功能“Content Assist”快捷键如图2-15所示。图2-14 上下文提示功能图2-15 快捷键设置2.4.3 快速修正功能 Java编辑器的快速修正功能可以快速定位出错信息,并对于错误应该翅
32、何修正给予提示功能。例如下列代码中变量 str 未定义,Java编辑器就会使该行左端出现“”标示,表明该行有错,单击“”按钮,就会出现如图2-16所示提示信息,告诉用户修改方法,例如下列代码就会有多种修改方法供参考。快速修正功能为软件开发人员带来了极大的方便。图2-16 快速修正功能2.4.4导入语句在代码编写的过程中,开发人员往往会忘记或漏掉需要引用的类,这时,Java编辑器的导入功能就发挥了作用。可以使用快捷键“Ctrl+Shift+O”以快速引入程序中所需类文件,导入快捷键可通过在如图2-15所示的界面中选择“Organize Imports”来设置。例如,以下代码中需要引入javaut
33、ilList类文件,但是程序当中没有使用import语句引用该类,这样就会造成编译错误。图2-17 快捷键导入语句 此时使用快捷键“Ctrl+Shift+O”,就会出现如图2-17所示的对话框,选择所需引入的类文件,或者单击“”,选择ImportList(javautil)选项,如图2-18所示,也可以实现引入功能。图2-18 单击提示导入语句1.1.2 Java 常用的输入和输出操作常用的 Java 语言的输入和输出有两大类可以实现 , 一种是 Java 的标准输入和输出流 , 取决于 java.lang.System 类 : 另一种是 javax.swing.JOptionPane 的对话
34、框式的输入和 输出。在具体使用的时候 , 取决于用户的要求。当前, Javax.swing.JOptionPane 可以提供较好的界面处理 , 得到更广泛的使用。1.java 的标准输入和输出流Java.lang.System 类提供了 3 种有用的标准流 : 标准输入流 (System.in) 、标准输出流(System.out) 和标准出错流 (System.err) 。通过它们可以实现数据的输入和输出操作。System.in: 用于程序的输入 , 通常用于读取用户从键盘的输入或用户定义的输入设备的输入 。注意 : 在 JDK5.0 利用一个新增加的类 java.util.Scanner
35、结合 System.in 实现对指定数据的输入。如下形式 :Scanner scanner =new Scanner(System.in); 创建一个 Scanner 的对象 scanner, 使得该对象从 System.in 读入输入的数据。System.out: 用于程序的输出 , 通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型的方法可以实现数据在屏幕上显示信息 :System.out.print(data) 和 System.out.println(data) 。其中 ,system.out.println(data) 是分行输出 data 数据到 屏幕或用户定义的输出设备 ,
36、System.out.print(data) 仅仅是在当前位置输出数据: 注意 : 在 JDK 5.O 中 , 提供了 System.out.printf(format,data) 是按指定格式 format 的输出方式输出 data。System.err: 用于显示出错信息 , 可以采用System.err.print(data) 和 System.err.println(data), 将指定的 data 输出到指定的输出设备 , 默认设备为屏幕。2.javax.swing.JOptionPanejavax.swing.JOptionPane 能通过弹出一个标准对话框 , 来提示用户。往往可
37、以利用它这个性质来实现具有对话框显示效果的数据输入和输出。 JOptionPane 类有 4 种常用方法实现对话框。showConfirmDialog(): 用于询问一个可确定的问题 ;showInputDialog(): 用于数据输入 ;showMessageDialog(): 提示用户某些信息 , 可以由用户定义。该方法的常用形式如下 : JOptionPane.showMessageDia1og(parentComponent,message,title,messageIconk) ;其中 parentComponet: 对话框的父组件 , 对话框所在的窗口 , 对话框的大小由内容决定
38、, 用 null 表示一个默认的窗口作为父组件 , 并且被放置在屏幕中央 ;message: 在对话框显示的信息 :title: 对话框的标题 :essageIcon: 对话框的显示图标 :showOptionDialog: 可以实现以上 3 种方法的综合功能。3.java.util.ScannerJava.util.Scanner 类可用于将文本转换成原语或字符串。 Scanner 的对象通过 next()系列方法将文本标识转换成不同类型的值。 Scanner 的对象往往和标准输入流 System.in 结合 , 允许用户通过标准输入流读入数据。例如 :1.1.3 类和对象类是用来创建对象的
39、模板 , 是一组相似的对象实体共性的抽象。类中包含两大成员 , 其一是数据成员 , 也称为类的属性 , 不同的属性值使得同一个类的对象相互区别 : 其二是代码成员 , 也称为类的方法 , 方法是在类中用来完成某个任务的一组相关的代码。对象是类的实例化 , 或者说具体化 , 它是一种动态的概念 , 而类本身是一个静态的概念。1 类变量、实例变量类变量是有 static 修饰的变量 , 也称为静态变量 , 这种变量定义的是整 个类的共用属性 , 该类的所有对象共享这个变量 , 而实例变量定义了某个特定对象的属性 , 实例变量在类的每个对象中都有一份自己的备份。对某个对象实例变量的修改不会影响到该类
40、的其他对象 , 而对类变量的修改却会影响到同类的所有对象。类变量常用来作为类的不同对象间交流和共享数据的工具。2 类方法、实例方法类方法是一个静态的概念 , 它的调用不一定要与某个实例对象相关联 ,而实例方法则是一个动态的概念 , 它的调用必须与某个实例对象相关联。类方法中不能使用实例变量 , 而实例方法则既可以使用类变量 , 也可以使用实例变量。注意 : 即使没有实例化类的任何对象 , 只要该类在执行时被加载到内存 中 , 该类的类变量和类方法就存在 , 并且可以通过类名来使用它们。3局部变量在方法中声明的变量称为局部变量 , 只在该方法内有效。它随着方法的调用而创建 , 当调用结束时则消亡
41、。如果局部变量与封装该方法的类中的一个成员变量同名 , 则在该方法的作用域中 , 局部变量屏蔽类成员变量 , 若要在该方法中访问这个同名类成员变量 , 则可在其名称前加上 this 关键字。4 对象的创建、构造函数、new 运算符创建一个对象 , 就是创建一个类的实例。对象在创建的过程中会自动调用构造函数 , 构造函数的主要作用就是初始化对象的实例变量 , 构造函数必须以类的名字来命名 , 同时 , 不能为构造函数指定返回类型。创建对象需要采用 new 运算符 , 格式如下 :类型 对象名 =new 类型 () 或 类型 对象 =new 类型 ( 实参列表 ) 执行 new 运算将完成以下几项
42、工作 :(1) 为对象动态地分配内存空间 ;(2) 调用对象的构造函数以初始化对象 ; (3) 以句柄的形式返回该对象的内存地址 ;(4) 将该句柄存储在对象变量中。注意 : 如果没有为类声明构造函数 , 则编译器会自动创建一个不带任何参数且函数体为空的默认构造函数 , 但一旦用户定义了自己的构造函数 , 编译器就不会自动创建默认的构造函数。另外一个类也可以包含多个重载的构造函数 , 使该类的对象能够以不同的方法进行初始化。5. 变量的作用域Java 语言中的变量按作用域划分可分成两种 , 成员变量 ( 类作用域 ) 和非成员变量 ( 方法作用域 ) 。成员变量是指类的静态变量和实例变量 ,
43、非成员变量是指方法中的局部变量和参数。类的变量和方法属于该类的作用域 , 在类的作用域中 , 方法能直接通过成员名来访问类的成员。方法的作用域是从它的左括号开始直到右括号结束。在一个作用域中声明的变量对于该作用域外定义的代码是不可访问的。作用域可以进行嵌套 , 因此在方法中可以定义新的代码块 , 在这种情况下 , 外部作用域中声明的变量对于内部作用域中的代码是可见的 , 但是反过来内部作用域声明的变量对于外部作用域中的代码却是不可见的。X、y 是类成员变量 , 其作用域是整个类 ,m、 n 是方法中的局部变量 , 其作用域是该方法 , 而变量 k 是在方法中的嵌套块里声明的 , 因此只在该嵌套
44、块里有效。6 函数重载函数重载是指在同一个类中可以创建二个或是多个同名的方法 , 这些同名方法的参数个数和类型不能完全相同。比如说可以编写两个同名的 Add 方法 , 其中一个是两个整型数相加 , 而另一个是两个实型数相加 ,Add(int x,int y),Add(float x,f1oat y), 系统能够自动根据调用实参的类型来决定使用哪一个 Add 方法。方法重载是 Java 实现多态性的一种方式。注意 : 在区别重载方法时 ,Java 不会考虑方法的返回值类型 , 如果两个同名方法有着完全相同的参数个数和类型 , 而仅仅是返回值类型不同 , 那么这不叫函数重载。7this 关键字在
45、Java 中对实例成员访问时必须有一个对象句柄作为引用。 this 关键字代表着类的当前对象的引用。 Java 在默认情况下隐含地包含了 this 关键字 , 因此类的方法可以直接访问类的成员。以下情况常常会使用 this 关键字 : 、在一个方法中 , 如果方法的参数或局部变量与类的某个成员变量同名 , 若想要访问这个类成员变量 , 则应使用 this 关键字 , 否则 , 将引用该方法的参数或局部变量。如果想要将当前的对象作为参数传递给其他的方法时 , 应使用 this 关键字。1.1.4 继承和多态1继承、超类、子类继承是面向对象编程的一个重要的概念 , 是软件重用的一种形式 , 通过继承 ,一个子类可以具有它的超类的属性和行为。创建子类的方式如下 :Class A extends B子类除了继承其超类的属性和方法外 , 还可对其超类进行扩展 , 创建子类自己的属性和方法。一个类可能是另一个类的子类 , 但同时又可能成为其他类的超类 , 这样一来 , 就形成了一种类的层次结构。Ei注意:Java只支持单重继承(指一个类只能有一个直接超类),而不支持多重继承。2子类的构造函数和关键字 super子类可以继承超类的所有非私有成员 , 然而构造
链接地址:https://www.31ppt.com/p-4532241.html