早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java编写三角形面积代码如下:abstractclassShape{publicdoublearea;publicabstractdoublegetArea();}classSanJiaoextendsShape{publicdoublex,y;publicSanJiao(doublex,doubley){x=x;y=y;}publicdoublegetArea(){area=x*y/2;retur

题目详情
java编写三角形面积代码如下:
abstract class Shape{public double area;
public abstract double getArea();
} class SanJiao extends Shape{
public double x,y;
public SanJiao(double _x,double _y)
{ x=_x; y=_y;
}
public double getArea(){area=x*y/2;
return area;
}
}
public class One{
public static void main(String[] args){
Shape sanjiao=new SanJiao(2.0,3.0);
System.out.println(sanjiao.getArea());
}
}
如果把第三行的代码去掉,那后面应该怎么编写才能实现呢
public abstract double getArea(); 这句去掉 应该怎么编写才能实现 麻烦解释具体点 新手 都晕了.
还有 x=_x; y=_y; 这个可以用 this.x ;this.y 代替吗
▼优质解答
答案和解析
第一个问题,若把 public abstract double getArea() 这句去掉的话,代表了父类里面没有了这个方法!换言之,你的main方法里面,不能用父类的对象去调用这个方法!也就是说,你要这样建立类:SanJiao sanjiao=new SanJiao(2.0,3.0); 把Shape 换成 SanJiao
第二个问题你问的不太清楚,一般写法是 this.x = _x; this.y = _y;
因为我们有时候是这样写的
public SanJiao(double x,double y)
{ this.x=x; this.y=y;
}
两个都是用 x和y,那么,类里面的元素就要用 this来区分开了!因为 this 指的就是当前对象!