实验二 类与对象
一、实验目的及要求
1.实验目的
1)掌握对Java中类的构造及定义的实现方法;
2)掌握对象的创建以及对象访问成员变量和成员方法;
3)掌握利用创建的类来封装对象的属性及行为的方法;
4)掌握构造函数的使用,方法的参数传递和返回值以及重载的用法。
2.实验要求
1)深刻理解并认识类与对象的区别及其具体定义;
2)深刻理解并认识类的定义及利用类创建对象的方法;
3)懂得编写相关程序对所理解的内容进行实验;
4)在实验过程中,保持个人的独立思考和解决问题的能力;
5)在本次实验过程中,要深刻保持个人注意力集中;
6)在本次实验过程中,要时刻总结经验与教训;
二、实验环境(工具、配置等)
1.硬件要求:一台可正常启动的计算机。
2.软件要求:不限,但建议使用Java集成开发环境eclipse。
三、实验内容(实验方案、实验步骤、设计思路等)
1.实验方案:
在复习及正确掌握相关知识后,编写类与对象的简单测试程序,进行程序的调试及改错,并在此过程中验证对类与对象的想法。
2.实验步骤:
1)首先定义小狗(Puppy)类。
2)创建新的变量puppyAge以及weight。
3)使用关键字new来创建一个Puppy对象。
4)创建方法setAge()与getAge()来设定与获取变量。
5)创建方法setWeight()与getWeight()来完成构造及重载。
6)输出实验结果,总结实验过程中的错误并记录下来。
3.设计思路:
首先定义相关类并利用类创建相关对象,定义构造函数完成各属性的初始赋值,利用方法setAge()及getAge()来设定与获取属性值age,对另一变量采用方法setWeight()与getWeight()来完成相应功能,最后输出对程序进行具体的完善步骤后,调试及运行出具体结果。
四、实验结果与分析
1.在成功进行实验步骤后,得出相关结果。实验效果图如图1所示:
图4-1 实验效果图
实验分析:
1.实验遇到的问题:
1)创建对象时,出现“构造函数 Puppy(int)未定义”的错误。
2)当利用方法返回具体值时,出现“age 的基本类型 int 没有字段puppyAge”的错误。
2.问题解决的方法:
1)在回溯程序时,发现因为“public Puppy(String name){}”将参数设定为string类型,更正后问题解决。
2)经过实验后发现,在Java的方法中,return不能用来同时返回两个值。
五、附源程序
package edu.shiyan.er;
public class Puppy{
private int puppyAge;
private double weight;
public Puppy(String name,double weight){
this.setWeight(weight);
System.out.println("小狗的名字是 : " + name );
}
public void setWeight(double weight) { //构造小狗的体重
this.weight = weight;
System.out.println("小狗的体重为:"+weight+"kg");
}
public double getWeight() { //重载
return weight;
}
public void setAge( int age ){
puppyAge = age;
}
public int getAge( ){
System.out.println("小狗的年龄为 : " + puppyAge );
return puppyAge;
}
public static void main(String[] args){
//创建对象
Puppy myPuppy = new Puppy( "tommy",1.8 );
//通过方法来设定age
myPuppy.setAge( 2 );
//调用另一个方法获取age
myPuppy.getAge( );
//访问成员变量
System.out.println("小狗年龄为 : " + myPuppy.puppyAge );
System.out.println("小狗的体重为 : " + myPuppy.getWeight() );
}
myPuppy.getAge( );
//访问成员变量
System.out.println("小狗年龄为 : " + myPuppy.puppyAge );
System.out.println("小狗的体重为 : " + myPuppy.getWeight() );
}
}
注:本文由伟杰~编写!果然写东西还是喜欢用MD。请来找资源的同学记得改改内容,并在代码中加上自己的注释。