java 高手请帮我看一下~~~谢谢你们了

来源:百度知道 编辑:UC知道 时间:2024/06/25 17:57:19
abstract class 图形
{ public abstract double 求面积();
}
class 梯形 extends 图形
{ double a,b,h;
梯形(double a,double b,double h)
{ this.a=a;//这一行为什么要加this呢??请帮我解释一下好么??
this.b=b;
this.h=h;
}
public double 求面积()
{ return((1/2.0)*(a+b)*h);
}
}
class 圆形 extends 图形
{ double r;
圆形(double r)
{ this.r=r;
}
public double 求面积()
{ return(3.14*r*r);
}
}
class 堆
{ 图形 底;
double 高;
堆(图形 底,double 高)
{ this.底=底;
this.高=高;
}
void 换底(图形 底)
{ this.底=底;
}
public double 求体积()
{ return (底.求面积()*高)/3.0;//这个为什么要写成“底.求面积()”而不是直接写成“(底*高)/3.0;”呢??
}
}
public class Example4_22
{ public static void main(String args[])
{ 堆 zui;
图形 tuxing;
tuxing=new 梯形(2.0,7.0,10.7);
System.out.println("梯形的面积"+tuxing.求面积());

详细解答见程序中的/* */部分,但愿你已经理解了。
//public class TestByte {
abstract class 图形 {
public abstract double 求面积();
}

class 梯形 extends 图形 {
double a, b, h;

梯形(double a, double b, double h) {
this.a = a;
/* 问:这一行为什么要加this呢??请帮我解释一下好么??
* 答:this指代当前对象,比如你声明了一个梯形对象,
* 如:梯形 obj=new 梯形(1.0,1.0,1.0);
* 那么,this就是指的obj这个梯形对象。
* 此外,这里之所以要用this,是因为参数名和梯形的成员变量名一样,
* 所以要加上this加以区分
*/
this.b = b;
this.h = h;
}

public double 求面积() {
return ((1 / 2.0) * (a + b) * h);
}
}

class 圆形 extends 图形 {
double r;

圆形(double r) {
this.r = r;
}

public double 求面积() {
return (3.14 * r * r);
}
}

class 堆 {
图形 底;
double 高;

堆(图形 底, double 高) {
this.底 = 底;
this.高 = 高;
}

void 换底(图形 底) {
this.底 = 底;
}

public double 求体积