1、北京信息科技大学信息管理学院实 验 报 告课程名称 java 程序设计 实验项目 实验二 类和对象 实验仪器 PC、jdk 、jcreator 专 业_ _班级/学号_ _学生姓名 _ _ 实验日期 实验地点 成 绩 _指导教师 _李春强_一、实验目的1.掌握类、对象的定义和使用;2.掌握使用类封装对象的属性和功能;3.掌握对象的组合以及参数的传递;4.掌握类变量和实例变量,以及类方法和实例方法的区别;5.掌握包的定义和使用。二、实验内容1.机动车:编写一个 java 应用程序,该程序中有两个类: Vehicle(用于刻画机动车)和 User(主类) 。具体要求如下:(1)Vehicle 类有
2、一个 double 类型的 speed,用于刻画机动车的速度,一个int 类型变量 power,用于刻画机动车的功率。方法定义了 speedUp(int s)方法,体现机动车有加速功能,定义了 speedDown()方法,体现机动车有减速功能,方法 setPower(int p)用于设置机动车的功率,方法 getPower()方法,用于获取机动车的功率。(2)在主类 User 的 main()方法中用 Vehicle 类创建对象,并让该对象调用方法设置功率,演示加速和加速功能。2.家中的电视:编写一个 java 应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即调用一个方法将谋个
3、电视的应用传递给自己的电视成员。具体要求如下:(1)有三个源文件:TV.java、Familiy.java 和 MainClass.java,其中 TV.java中的 TV 类负责创建“电视”对象,Familiy.java 中的 Familiy 类负责创建“家庭”对象,MainClass.java 是主类。(2)在主类的 main()方法中首先使用 TV 类创建一个对象 haierTV,然后使用 Familiy 类再创建一个对象 zhangsanFamiliy,并将先前 TV 类的实例haierTV 的引用传递给 zhangsanFamilily 对象的成员变量 homeTV。3. 共饮同井水
4、编写程序模拟两个村庄共用一口井水。编写一个 Village 类,该类有一个静态的 int 类型成员变量 waterAmount,用于模拟井水的水量,在主类 Land的 main()方法中创建两个村庄,一个村庄改变了 waterAmount 的值,另一村庄查看 waterAount 的值,另一村庄查看 waterAmount 的值。4.求方程的根使用 package 语句将方程的属性即计算根的方法封装在一个有包名的类中,包名是 wukong.xiyou,类的名字是 SquraEquation。编写一个 SunRise 的主类,该主类使用 import 语句应用 wukong.xiyou 包中的
5、SquraEquation 类。三、实验要求 1. 理解 java 程序封装的特点,编制完整的相关 java 程序。2. 编写并调试程序 lab2-1,lab2-2,lab2-3,lab2-4 ,掌握类和对象等基本使用方法。四、实验准备1.一台电脑。2.jdk 开发环境。3.java 上机的基本操作。五、实验过程Lab2_1:package 机动车;public class user public static void main (String args) vehicle v =new vehicle();System.out.println(“机动车功率为:“+ v.setPower(10
6、0);v.speedUp(15);v.speedDown(8);public class vehicle double speed;int power;void speedUp(int s)this.speed=s;System.out.println(“机动车加速,速度为“+s);void speedDown(int t)this.speed=t;System.out.println(“机动车减速,速度为“+t);int setPower(int p)return p;int getPower(int q)return q;Lab2_2:public class TV void play()
7、System.out.println(“正在播放动物世界“ );public class Family TV homeTV;void buyTV(TV tv)tv=this.homeTV;System.out.println(“购买一台电视“ );public class MainClass public static void main(String args) TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();Lab2_3:public c
8、lass Land public static void main(String args)Village.WaterAmount=200;System.out.println(“水井中有水“ +Village.WaterAmount+“升“);Village v1=new Village();Village v2=new Village();int m=50;System.out.println(“v1从水井中取水“ +m+“升“);v1.WaterAmount-=m;System.out.println(“v2发现水井中有水“ +Village.WaterAmount+“升“ );Syst
9、em.out.println(“v2从水井中取水“ +m+“升“);v2.WaterAmount-=m;System.out.println(“v1发现水井中有水“ +Village.WaterAmount+“升“ );public class Village public static int WaterAmount;Lab2_4:import wukong.xiyou.*;public class SunRisepublic static void main(String args)SquraEquation sq=new SquraEquation();sq.getRoot(100);
10、System.out.println(“此数的平方根为“+“sq.getRoot()“); package java.wukong.xiyou;public class SquraEquationpublic double getRoot(double num)return Math.sqrt(num);六、实验总结:123 说明:1. 实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2. 实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。