请问这两段JAVA代码的输出结果是否一样?

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:39:15
第一段
class mianZ{
double length;
double width;
double area(){
return length*width;
}
mianZ(double length,double width){
this.length=length;
this.width=width;
}
}
public class Sen{
public static void main(String args []){
mianZ my=new mianZ(10,20);
mianZ your=new mianZ(2,3);
double ar;
ar=my.area();
System.out.println("第一个长方形的面积是"+ar);
ar=your.area();
System.out.println("第二个长方形的面积是"+ar);
}
}

第二段
class mianZ{
double length;
double width;
double area(){
return length*width;
}
}
public class Sen{
public static void main(String args []){
mianZ my=new mianZ();
mianZ your=new mianZ();
my.length=10;my.width=20;
your.length=2;your.width=3;
double ar;
ar=my.area();
System.out.println("第一个长方形的面积是"

应该是一样的,区别就在于第一个类使用构造函数为类成员变量赋值.
mianZ my=new mianZ(10,20);
mianZ your=new mianZ(2,3);
而第二个类是直接为成员变量赋值.
mianZ my=new mianZ();
mianZ your=new mianZ();
my.length=10;my.width=20;
your.length=2;your.width=3;

因为传入的参数对于my都是length为10,width为20
your的也都是length为2,width为3..

因此最后打印结果都是
第一个长方形的面积为200
第二个长方形的面积为6

这两个程序提供了两种为类成员变量赋值的方法.但是第二种直接对成员变量的操作是不被提倡的.

抛砖引玉

结果是一致的

只不过对字段赋值的方式不一样而已

试试呗,调试是最好的办法