当前位置: 代码迷 >> J2SE >> 类应用有关问题
  详细解决方案

类应用有关问题

热度:220   发布时间:2016-04-23 20:19:16.0
类应用问题
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去掉
然后其他的问题,楼主自己再检查解决吧
  相关解决方案