02-Java程序的组织形式及面向对象入门

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《Java程序设计》信息科学与工程学院王桂平18696561721w_guiping@163.com2上一章内容回顾1.课程导引及Java概述一个最简单的程序:HelloWorld编写Java程序的两种方式:直接用JDK编写,为此需要在记事本文件中编写Java源程序,在命令行程序(cmd)窗口中调用Java命令来编写、运行Java程序。在IDE开发工具中编写、运行Java程序。常用的IDE工具有:NetBeansEclipse32.Java程序的组织形式2.1第2个Java程序―VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序2.1.2在NetBeans中编写、编译和运行程序2.1.3在Eclipse中编写、编译和运行程序2.2Java程序的基本规则2.2.1Java程序的组织形式2.2.2Java源文件的命名规则2.3面向过程与面向对象2.3.1结构化程序设计简介2.3.2程序的三种基本结构2.3.3面向对象程序设计简介2.3.4面向对象的基本特征2.4UML(统一建模语言)介绍2.5Java的面向对象特征附录:阅读本教案和文献[2]代码的方法42.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序文献[2],1.4节有一个稍微复杂的Java程序,该程序模拟火山探测机器人,它模仿的是NASA的“遥控机器人”计划中用来在火山裂缝中进行研究探测的DanteⅡ机器人。Java语言是面向对象的程序设计语言,在开发软件时尽可能运用人类的自然思维方式来模拟现实世界客观存在的事物(即对象)之间的联系和交流方式。面向对象程序设计里有两个重要的概念:类(class)和对象(object,也被称为实例,instance)。例如,“学生(Student)”是一个类,“张三”、“李四”则是具体的学生类“对象”或“实例”。类和对象又包含了属性和行为。学生(Student)类具有哪些属性和行为?52.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序属性(attributes):是一个对象区别与其他对象的数据,可用于确定该类的对象的外观、状态和其他性质。属性是用在类中定义的成员变量来表示的。火山探测机器人可能具有如下属性:状态(status):探测、移动、返回;速度(speed):以每小时的英里数计量;温度(temperature):以华氏温度计量。行为(behavior):指的是对象能够对自身或其他对象执行的操作。行为可以用来修改对象的属性、接收来自其他对象的信息以及向其他对象发送消息让它们执行任务。行为是通过方法(method)来实现的。火山探测机器人可能有如下行为:检查当前温度;报告当前状态、速度和温度。62.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序为了模拟火山探测机器人,首先定义VolcanoRobot类,包含在源程序文件VolcanoRobot.java中,表示火山探测机器人。【预先学习】类类包含了属性和方法,或者说,类封装了它的属性和方法,使之成为一个整体。例如,VolcanoRobot类包含了status、speed和temperature三个属性;包含了checkTemperature和showAttributes两个方法。方法类似于C语言中的函数,只不过它现在是类的一部分。72.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序程序清单:chapter02\VolcanoRobot.java。【注】该源文件在“CodesInNetBeans”项目中,详见本章附录中的说明。packagechapter02;//如果是在命令行窗口中编译,请先注释这行代码classVolcanoRobot{Stringstatus;//以成员变量的形式定义的属性intspeed;floattemperature;voidcheckTemperature(){//类的方法if(temperature660){status=returninghome;speed=5;}}voidshowAttributes(){System.out.println(Status:+status);System.out.println(Speed:+speed);System.out.println(Temperature:+temperature);}}82.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序VolcanoRobot.java编写完后,可以进行编译,但不能执行,因为没有main方法,也没有使用定义好的VolcanoRobot类创建实际的对象。使用VolcanoRobot类的方式有两种:创建另一个独立的类,如VolcanoApplication类,包含在源程序文件VolcanoApplication.java中,包含了main方法,并在其中创建和使用了VolcanoRobot类的对象。直接在VolcanoRobot类中定义main方法,并在其中创建和使用了VolcanoRobot类的对象。本文以下采用第一种方式,为此定义VolcanoApplication类。92.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序程序清单:chapter02\VolcanoApplication.java。【注】该源文件在“CodesInNetBeans”项目中,详见本章附录中的说明。packagechapter02;//如果是在命令行窗口中编译,请先注释这行代码classVolcanoApplication{publicstaticvoidmain(String[]arguments){VolcanoRobotdante=newVolcanoRobot();dante.status=exploring;dante.speed=2;dante.temperature=510;dante.showAttributes();System.out.println(Increasingspeedto3.);dante.speed=3;dante.showAttributes();System.out.println(Changingtemperatureto670.);dante.temperature=670;dante.showAttributes();System.out.println(Checkingthetemperature.);dante.checkTemperature();dante.showAttributes();}}该程序的输出结果为:Status:exploringSpeed:2Temperature:510.0Increasingspeedto3.Status:exploringSpeed:3Temperature:510.0Changingtemperatureto670.Status:exploringSpeed:3Temperature:670.0Checkingthetemperature.Status:returninghomeSpeed:5Temperature:670.0102.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序【预先学习】创建类对象在VolcanoApplication.java程序中,以下语句用new运算符创建一个类对象,并用dante这个变量名指向这个对象。使用类创建对象的过程叫做实例化(Instantiation),这就是对象也被称作实例(instance)的原因所在。VolcanoRobotdante=newVolcanoRobot();实际上,上述代码是调用(系统默认提供的)构造方法构造出一个新的VolcanoRobot类对象。【预先学习】通过对象引用其属性和方法如果要引用一个对象的属性或方法,应采用“对象名.属性名(或方法名)”这种形式来引用。112.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序特殊的类—String一般而言,用JDK中的类或自定义类定义对象时,需要通过new运算来创建一个新对象。这里有个例外,就是String类。String类既可以采用new运算符来创建,也可以直接将一个用双引号括起来的字符串常量赋给一个String变量。如:Strings1=newString(Hello);Strings2=World;122.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序如第1章中的HelloWorld程序一样,可以用记事本编写上述两个源程序文件,然后用javac命令分别编译VolcanoRobot.java和VolcanoApplication.java,然后用以下命令运行该程序:javaVolcanoApplication【注意】如果一个Java程序包含几个源文件,即便是这些源文件中的类存在包含、调用等关系,这些源文件的编译顺序也是无关紧要的。132.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序142.1第2个Java程序—VolcanoApplication2.1.1用记事本和命令行程序编写编译运行程序【注意】不能用命令“javaVolcanoRobot”来运行VolcanoRobot类,否则会提示在类VolcanoRobot中找不到main方法。152.1第2个Java程序—VolcanoApplication2.1.2在NetBeans中编写、编译和运行程序(1)重要说明:将本教案各章的示例代码组织成一个项目1.本教案希望将教案中的所有示例代码组织成一个项目,如CodesInNetBeans(用NetBeans工具编写各章程序),或CodesInEclipse(用Eclipse工具编写各章程序)。2.事实上,本教案已经将所有示例代码组织成一个项目了,分别是“E:\01Java程序设计\01Java程序设计教案”文件夹下的CodesInNetBeans和CodesInEclipse。学生可以直接用NetBeans或Eclipse打开该项目阅读和学习本教案所有示例代码。更详细的说明详见本章附录。3.本节为了演示如何将所有示例代码组织成一个项目,在另一个目录,即在“E:\01Java程序设计\01Java程序设计教案\程序代码-测试”目录下新建CodesInNetBeans和CodesInEclipse项目。162.1第2个Java程序—VolcanoApplication2.1.2在NetBeans中编写、编译和运行程序(2)新建项目:CodesInNetBeans在NetBeans中新建一个名为“CodesInNetBeans”项目,存放在目录“E:\01Java程序设计\01Java程序设计教案\程序代码-测试”中,如下图所示。172.1第2个Java程序—VolcanoApplication2.1.2在NetBeans中编写、编译和运行程序182.1第2个Java程序—VolcanoApplication2.1.2在NetBeans中编写、编译和运行程序(3)新建类:VolcanoRobot和VolcanoApplication在CodesInNetBeans项目中在新建类VolcanoRobot和VolcanoApplication,并输入前述代码。【注意】如1.4.3节所示,本教案各章新建的类都是包含在对

1 / 85
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功