问题描述
- java构造器,与方法怎么传参,这样不对吗?为什么结果是0
-
public class Area {
int width;
int length;
public static void main(String[] args) {
Area ar=new Area(2,3);
int areas=ar.area();
System.out.println(areas);
}
public int area(){
return this.width*this.length;
}
public Area(int i,int j){
i=this.width;
j=this.length;
}
}
解决方案
你的参数使用方法错误,赋值语句反了,构造函数的方法应该这样使用传入的参数对类的成员变量赋值,修正如下:
public Area(int i,int j){
this.width=i;
this.length=j;
}
解决方案二:
i=this.width;
->
this.width=i;
解决方案四:
需要修改一下Area(int i,int j)构造函数:
public Area(int i,int j){
this.width = i;
this.length = j;
}
解决方案五:
建议你以后这样的问题,最好是能单步调试一下。
如果能,在单步到 area() 函数中时,观察变量时你就会发现用于计算面积的变量的值都不对;然后,你就会想到为这两个变量 赋值的地方!这样查下去,也能发现问题的原因。
时间: 2024-10-31 13:24:56