【存档】实验二 类和对象的创建
题目一:执行此程序输出箱子的重量和体积。要求:定义一个类,类中包含长宽高和密度,方法有求体积和重量。
简单理解:类中包含的这些是变量,方法指的就是函数。
简单实现代码如下:
public class box {
private double l;
private double w;
private double h;
private double r;
public box (double l,double w,double h,double r){
this.l = l;
this.w = w;
this.h = h;
this.r = r;
}
public double getV(){
return l*w*h;
}
public double getM(){
return l*w*h*r;
}
public static void main(String[] args) {
box b = new box(3,2,1,3);
System.out.println("体积为"+b.getV());
System.out.println("重量为"+b.getM());
}
}
有几个需要注意的地方:
- 写好的代码要确定自己是调用了类,而不是仅仅是调用了类中的函数,鉴于这是面向我自己的博客,就把之前写的奇怪代码发上来(下图),可以发现其实主函数是没有使用类的。
- 整个代码,无论是上次还是这次都有一些重复的代码段,比如开始定义成员变量那里。实验发现,定义时可以写在一起,构造函数里不得行。
- 接下来就是构造函数,是第一次代码逻辑错误的根源,其定义如下:
Java构造函数,也叫构造方法,是JAVA中一种特殊的函数。构造函数是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。而一般函数是对象调用才执行,用 “.方法名” 的方式,给对象添加功能。 一个对象建立,构造函数只运行一次。 而一般函数可以被该对象调用多次。
作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象的属性和方法。 - 最后,现在是在主函数里定义,可以尝试从键盘输入长宽高。
题目二:执行此程序输出数组元素最大值。要求:定义一个类,类中包含一个数组,方法有求数组元素最大值。
public class testArray {
private int[] arr;
public testArray(int[] a){
arr = a;
}
public int maxnum(int[] arr)
{
int max = 0;
for(int i:arr)
{
if (max < i){
max = i ;
}
}
return max;
}
public static void main(String args[])
{
int[] list = {7,7,2,0,15,99,47};
testArray t = new testArray(list);
System.out.println("最大值为:"+t.maxnum(list));
}
}
- 同样,也可以是从键盘输入数组,现在是在主函数中输入。