一、实验目的:
1. 理解 Java 语言是如何体现面向对象编程基本思想的;
2. 掌握类的声明以及对象的创建;
3. 了解类的成员变量和成员方法的特性以及类的构造方法的使用。
二、实验环境:
Eclipse
三、实验内容:
1. 编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length)、宽(width)和高(heigth),再定义一个方法void setBox(int l, int w, int h) 对这三个变量进行初始化,然后定义一个方法int volume ()来计算长方体的体积。最后,在main()方法中创建一个Box类的对象b,首先通过调用对象b的setBox()方法来设置长方体的长、宽和高,再通过调用对象b的volume() 方法来计算这个给定尺寸的长方体的体积,并输出这个结果。
要求: 将程序的源代码写在实验报告上。并将程序运行结果写在实验报告上。
答:public class Box {
static int lehgth;
static int width;
static int heigth;
static int v;
void steBox(int l,int w,int h)
{
lehgth=l;
width=w;
heigth=h;
}
static int volume()
{
v=lehgth*width*heigth;
return v;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Box b=new Box();
b.steBox(3, 4, 5);
System.out.println("长方体的长宽高分别为:3、4、5");
System.out.println("长方体的体积为:"+Box.volume());
}
}
长方体的长宽高分别为:3、4、5
长方体的体积为:60
截图:
2. 定义一个银行帐户类BankAccount实现银行帐户的概念,在BankAccount类中定义两个变量:"帐号" (account_number) 和"存款余额" (leftmoney),再定义四个方法:"存款" (savemoney)、"取款" (getmoney) 、 "查询余额" (getleftmoney)、构造方法(BankAccount)。
最后,在main()方法中创建一个BankAccount类的对象ba,假设ba的账号为:123456,初始的存款余额为500元。首先向该账户存入1000元,再取出2000元。
要求: 将下面源代码中的空白处填上,并写在实验报告上。将程序运行结果写在实验报告上。源代码的提示如下:
……
public double getleftmoney () { //查询余额
……
}
public void savemoney(double money) { //存款
leftmoney+=money;
}
public void getmoney (double money){ //取款
……
}
public BankAccount (int number, double money){ //构造方法,用来初始化变量
……
}
public static void main(String args[]) {
……
ba.savemoney(1000);
System.out.println("存入1000元后,您的余额为:"+ba.getleftmoney());
ba.getmoney(2000);
System.out.println("取款2000元后,您的余额为:"+ba.getleftmoney());
}
……
答:public class BankAccount {
static double account_number;
static double leftmoney;
public double getleftmoney ()
{ //查询余额
return leftmoney;
}
public void savemoney(double money)
{ //存款
leftmoney+=money;
}
public void getmoney (double money)
{ //取款
leftmoney-=money;
}
public BankAccount (int number, double money)
{ //构造方法,用来初始化变量
account_number=number;
leftmoney=money;
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
BankAccount ba=new BankAccount(123456, 500);
ba.savemoney(1000);
System.out.println("存入1000元后,余额为:"+ba.getleftmoney());
ba.getmoney(2000);
System.out.println("取入2000元后,余额为:"+ba.getleftmoney());
}
}
存入1000元后,余额为:1500.0
取入2000元后,余额为:-500.0
截图:
3、思考题
1. 说明什么是构造方法,构造方法有哪些特点?
答:构造方法是一个类的方法中方法名与类名相同的类的方法,构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
特点:1、构造方法的方法名与类名相同,在java中普通函数可以和构造函数同名,但是必须带有返回值。
2、构造方法是类的方法,它能够简化对象数据成员的初始化操作,不能对构造方法制定类型,构造方法可以重载,构造方法可以继承,构造方法一般不能由编程人员显示的直接调用。
3、构造函数的功能主要用于在类的对象创建时定义初始化的状态,不能用void来修饰。
4、 构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的。
5、当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。一般方法不具备此特点。
2. 如果程序中有多个类时,如何来确定源程序文件的名称?
答:源程序的名称为主类的名称。