[电脑基础知识]java实验课lab

上传人:自*** 文档编号:80559091 上传时间:2019-02-19 格式:DOC 页数:42 大小:396KB
返回 下载 相关 举报
[电脑基础知识]java实验课lab_第1页
第1页 / 共42页
[电脑基础知识]java实验课lab_第2页
第2页 / 共42页
[电脑基础知识]java实验课lab_第3页
第3页 / 共42页
[电脑基础知识]java实验课lab_第4页
第4页 / 共42页
[电脑基础知识]java实验课lab_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《[电脑基础知识]java实验课lab》由会员分享,可在线阅读,更多相关《[电脑基础知识]java实验课lab(42页珍藏版)》请在金锄头文库上搜索。

1、第4章 实验 方法4.1实验目标(1) 了解类、对象、方法的基本概念,方法的参数含义。(2) 参数和变量的作用域,定义和使用静态方法。(3) 方法定义和调用,包括有返回值和无返回值的方法的定义和调用。(4) 了解JAVA基本类库中的一些与原始数据类型密切相关的一些方法。(5) 递归和迭代机制及函数实现。4.2实验说明本章实验教程将初步介绍JAVA类(class)、对象(object)和方法(method)的一些基本概念。以下的实验包括4种类型, 每种类型都用括号里面的字母表示:D - 例程, 表示这是一个例子, 要求练习者阅读指南和代码; I - 交互式练习, 练习者完成实验指定的简单任务,如

2、修改部分代码, 观察程序运行时的变化等; W - 热身练习, 练习者的编程工作量逐渐加大。P - 完整编程 ,要求练习者根据要求,完成完整的JAVA程序。4.3实验准备从本实验教程光盘中拷贝Lab04文件目录到本地磁盘, 如C: 盘。Lab04文件目录中将包含本次实验所需的所有资料。 Lab04的相关资料也可以从本实验教程的网站下载:http:/javaLab/lab04.zip4.4实验任务实验4.4.1: (D)初步介绍JAVA类、对象和方法 1. 使用JAVA开发包中的类JAVA程序由类(class)组成,类中包含方法(method)。到目前为止,实验教程中涉及的程序只有一个类一个方法:

3、在应用程序中的main方法和在applet中的paint方法。程序中还用到了类的其他方法,这些方法不是我们自己编写的,它们是JAVA开发包中的一部分。例如使用类JOptionPane中的showMessageDialog和showInputDialog方法,无需编写整个代码,而是进行方法调用: JOptionPane.showMessageDialog(null, Hi there!); String name = JoptionPane.showInputDialog(Whats your name?);使用类JOptionPane中的方法,需要在程序的开头加上import语句: impor

4、t javax.swing.JOptionPane;使用了import语句,编译器才能在JAVA类库中的javax.swing包中找到类JOptionPane。另外,类Integer的方法parseInt可以将为String表达形式的数字转化成int类型。使用类Interger中的方法不必写一个import语句。java.lang中的所有类(包括类Integer)都是自动导入到每一个Java程序之中的,程序不必显式地给出导入过程。要使用Java其他库包中的类则需要显式地给出导入语句。 2. 简单理解一下Java对象和类的关系Java对象(Object)是计算机存储区中用来存储特定类型数据的一个

5、区域,这些特殊类型的数据是根据类(Class)来定义的。举个简单例子:程序清单4-1:Student.java/Student.javapublic class Student private int id; / 学生IDprivate String name; / 姓名public Student(int id, String name)this.id = id;this.name = name;public int getID() return id;public void setID(int id) this.id = id;public String getName() return

6、name; public void setName(String name) this.name = name;这里定义了一个Student类,它有2个属性、4个实例方法和1个构造方法。根据Student的数据结构,可以创建多个对象。类的对象也被称作是类的实例(instance)。3. JAVA的两种数据类型体系JAVA有两种数据类型:原始数据类型(Primitive Data Type)和引用数据类型(Reference Data Type)。原始数据类型在前面已经做过介绍,它的值就是一个数字、一个字符或一个布尔值。而身为引用数据类型的变量又被称为是对象引用,实际上它的值是指向内存空间的引用

7、(就是地址),该地址指向的内存中保存着变量所表示的一个值或一组值。举个例子说明:Student s1, s2; / 在内存中分配两个引用数据类型变量的空间 s1 = new Student(); / 分配Student对象的数据空间,并把该空间的首地址0xabcdef赋给s1s2 = s1; / 将s1存储空间中的地址复制到s2的存储空间中如图4.1所示:图4.1 引用数据类型举例 由于变量s1和s2的值相同,即指向同一个内存地址,s1和s2实际上是同一个对象。4. 类的三种方法(method) Java类有三种方法:构造方法(constructor),实例方法(instance method

8、)和静态方法(static method)。它们分别有不同的调用方式。 (1) 构造方法(constructor)构造方法用于创建对象。对象在使用前必须要初始化,即为对象分配数据空间。调用构造方法创建一个Student对象: Student s = new Student(123, he xiang);注意到类的构造方法与类同名,调用构造方法通常使用关键字new。这里,首先为变量s分配一个引用空间;使用new关键字调用类的构造方法为Student类的对象分配数据空间;将数据空间的首地址赋给s。(2) 实例方法(instance method)对象创建后,就可以让它做一些操作。为此,就要调用实例

9、方法。实例方法定义了一个对象的行为,其调用的格式如下: 对象引用.方法名(参数) objectReference.methodName(parameters)例如,调用Student对象s的getID方法: s.getID(); (3) 静态方法(static method)类JOptionPane的showMessageDialog和showInputDialog方法以及类Integer的parseInt方法的使用有一个相同点,其调用形式如下: 类名.方法名(参数) ClassName.methodName(parameters)以这种形式调用的方法称为静态方法(static method)

10、。静态方法定义的行为并不针对某个特定的对象。注意这点与实例方法的不同。另外,静态方法的 方法头有关键字static,实例方法和构造方法没有此关键字。实验4.4.2: (D)方法的参数 Applet中的paint方法有如下的方法头定义: public void paint(Graphics g)扩符( ) 中的g是声明为Graphics类型的变量。在方法头的扩符内声明的变量被称为是形式参数。形式参数不需要初始化,因为方法调用时它(们)已经被自动地赋值。在paint方法中,可以假设变量g已经指向了类Graphics的一个对象了。在paint方法里,可以使用已经存在的Graphics对象来画图,比如

11、调用方法drawString和drawLine。 下面的语句对Font类作了如下的实例化: Font ft= new Font(Serif, Font.PLAIN, 56); g.setFont(ft);第一句调用了一个构造方法来创建一个对象,此对象被变量ft引用。在第二句中,我们没有调用Font对象ft的实例方法。而是将ft作为参数传递给setFont方法,此方法为Graphics对象g的一个实例方法。 Java库中,类Graphics方法setFont的方法头定义如下: public abstract void setFont(Font font)这里的形式参数font在setFont方法

12、调用时自动接收实例化的Font对象ft为它的实际值。形式参数接收的实际值被称为实际参数。在上面的例子中,实际参数是ft。类似地,main方法有类型为String(字符串数组)的形式参数: public static void main(String args)实验4.4.3: (D)变量及其作用域1. Java有四种类型的变量:本地变量(local variable)、实例变量(instance variable)、类变量(class variable)和参数(parameter)。 本地变量在方法中声明;实例变量和类变量在类体中、方法体外声明。实例变量和类变量看起来比较类似,只是类变量是静态

13、变量,使用static访问修饰符。Java虚拟机(JVM)在方法或构造方法执行前为参数分配空间,并在消息处理完成后释放空间。下面是Java类中声明变量的一般形式的伪代码(pseudocode): class someClass visibility_modifier variable_type instanceVariableName; / Instance Variable visibility_modifier static variable_type classVariableName; / Class Variable returnType someMethod1() variable

14、_type localVariableName; / Local Variable returnType someMethod2(Type parameterName) / Parameter instanceVariableName和classVariableName 在someClass类体中声明,其中instanceVariableName是实例变量,classVariableName是类变量;localVariableName在someMethod方法中声明,是本地变量。parameterName是方法someMehod2的形式参数(简称“形参”)。2. 变量是数据的标识。上面的伪代码

15、中变量名分别是:instanceVariableName, classVariableName, localVariableName和parameterName。变量名必须是合法的标识符,具体的要求如下:(1) 不能使用保留字;(2) 是字母、数字、美元符号“$”或下划线“_”的序列;(3) 不能以数字开头,必须以字母、美元符号“$”或下划线“_”开头;(4) 区分大小写,比如myName和MyName是不同的标识符。合法的变量名如:x、value-1、$amount等;非法的变量名如:2brother、room#、class(保留字)等。就象给家里的每个孩子取不同名字,变量名应具有一定的含义,以增加程序的可读性。3. 变量的声明声明变量将在存储器中分配一定的空间

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

当前位置:首页 > 办公文档 > 其它办公文档

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