学号-专业班级-姓名-实验5

更新时间:2024-03-25 03:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实 验 报 告

实验课程 Java程序设计 实验项目 实验5 实例成员、类成员和包 实验地点 指导教师 班 级 学生姓名 学 号 教师评分 日 期

第1页 共5页

实验5 实例成员、类成员和包

一、实验目的

1. 掌握类变量与实例变量,以及类方法与实例方法的区别。 2. 掌握使用 package 和 import 语句。

二、准备

1. 打开编辑环境 2. 检查Path设置是否正 3. 相关知识点

类有两种基本的成员:变量和方法。变量用来刻画对象的属性,方法用来体现对象的功能,即方法使用某种算法操作变量来实现一个具体的功能。

成员变量用来刻画类创建的对象的属性,其中一部分成员变量称作实例变量,另一部分称作静态变量或类变量。类变量是与类相关联的数据变量,而实例变量是仅仅与对象相关联的数据变量。不同对象的实例变量将分配不同的内存空间。如果类中有类变量,那么,所有对象的这个类变量都分配相同的内存,也就是说,对象共享类变量。 方法是类体的重要成员之一。其中的构造方法是具有特殊地位的方法,供类创建对象时使用,用来给出类所创建的对象的初始状态,另一部分方法可分为实例方法和类方法,类所创建的对象可以调用这些方法形成一定的算法,体现对象具有某种功能。一个类的类方法也可以直接通过该类的类名调用。

包是 Java 语言中有效管理类的一个机制。通过关键字 package 声明包语句, package 语句作为 Java 源文件的第一条语句,指明该源文件定义的类所在的包。 使用 import 语句可以引入包中的类。在编写源文件时,除了自己编写类外,经常需要使用 Java 提供的许多类,这些类可能在不同的包中。在学习 Java 语言时,使用已经存在的类,避免一切从头做起,这是面向对象编程的一个重要方面。为了能使用 Java 提供的类,可以使用 import 语句来引入包中的类。在一个 Java 源程序中,可以有多个 import 语句,它们必须写在 package 语句(假如有 package 语句的话)和源文件中类的定义之间。

三、实验内容

1.实验要求

按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。 程序的运行效果如图 3 . 2 所示。

请按模板要求,将【代码】替换为 Java 程序代码。 Example . java class A

第2页 共5页

{ 【代码 l】 //声明一个 floal型实例变量 a

【代码 2】 //声明一个 floal型类变量 b ,即 static 变量 b

void setA(float fa)

{ 【代码 3】 //将参数 fa 的值赋值给成员变量 a }

void setB(float fb)

{ 【代码 4】 //将参数 fb 的值赋值给类变量 b }

float getA( ) { return a; }

float getB( ) { return b; }

void inputA( )

{ System.out.println(a); }

static void inputB() { System.out.println(b); } }

public class Example

{ public static void main(String args[])

{【代码 5】 //通过类名操作类变量 b ,并赋值 100 【代码 6】 //通过类名调用方法inputB( ) A cat=new A( );

A dog =new A( );

【代码 7】 //cat调用方法 setA(int a),将cat的成员 a 的值设置为 200 【代码 8】 //cat调用方法 setB(int b),将cat的成员 b 的值设置为 400 【代码 9】 //dog调用方法 setA(int a),将dog的成员 a 的值设置为 150 【代码 l0】//dog调用力法 setB(int b),将dog的成员 b 的值设置为 300 【代码 11】//cat调用inputA( ) 【代码 12】//cat调用inputB( ) 【代码 13】//dog调用inputA( )

第3页 共5页

【代码 14】//dog调用inputB( ) } }

2.思考练习

(1)说明变量 a 、b 的区别。

(2)通过类名可以操作变量a吗? 说明原因。

(3)通过对象可以操作变量b吗?为什么?

3. 在NetBeans集成开发环境中,创建一个项目myproject。在该项目中,将Dog.java程序编译,使得编译好的类存放在mypackage包中(及当前目录下的子目录)包。 //Dog.java

package mypackage;//相当一个文件夹

public class Dog {

public void bark() {

System.out.println(\ } }

将Wolf.java程序编译,使得编译好的类存放在mypackage的子包animal中。

//Wolf.java

package mypackage.animal; public class Wolf{

public { }

System.out.println(\

void howl()

}

将Tiger.java程序编译,使得编译好的类存放在mypackage的子包animal中。 //Tiger.java

package mypackage.animal; public class Tiger{

public {

void growl()

System.out.println(\

第4页 共5页

}

}

程序UsePackage.java代码如下: import mypackage.Dog; import mypackage.animal.*;

public class UsePackage { public static void main(String[] args)

{ }

Dog d=new Dog(); Wolf w=new Wolf(); Tiger t=new Tiger(); w.howl(); t.growl(); d.bark();

}

将程序编译并运行。

第5页 共5页

本文来源:https://www.bwwdw.com/article/uz38.html

Top