public class Exercise8_1 {
public static void main(String[] args){
Rectangle rec1 = new Rectangle(4,40); //问题出现点
System.out.println(rec1.getArea);
Rectangle rec2 = new Rectangle(3.5,35.9);
System.out.println(rec2.getArea);
}
}
class Rectangle{
double width;
double height;
public Rectangle(){
}
public Rectangle() {
width = 1;
height = 1;
}
public void Rectangle(double newWidth,double newHeight){
width = newWidth;
height = newHeight;
}
double getArea(){
return width*height;
}
double getPerimeter(){
return 2*(width+height);
}
}
以上为java书上的习题,代码很简单2分钟就敲出来了,可是一直找不出问题在哪里,
望高手能让我茅塞顿开。。
------解决思路----------------------
public Rectangle(){
}
public Rectangle() {
width = 1;
height = 1;
}
定义了两个无参的构造方法,这两个方法同名,无参,导致系统无法编译
public void Rectangle(double newWidth,double newHeight){
width = newWidth;
height = newHeight;
}
这个方法添加了void 导致这个方法不再是构造方法
Rectangle rec1 = new Rectangle(4,40); //问题出现点 这一行就我无法找到对应的构造方法了
public Rectangle(){
}
public Rectangle() {
width = 1;
height = 1;
} 删掉其中一个方法
然后将public void Rectangle(double newWidth,double newHeight){ 的void去掉
然后其他的问题,楼主自己再检查解决吧