public Rectangular(double d){this.width = d;this.height = d;}public Rectangular(double width, double height){this.width = width;this.height = height;}就是这里面的this 有什么用的啊
2 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
就是指代当前的对象,
public Rectangular(double d)
{
this.width = d;
this.height = d;
}
这个this就是指当前这个Rectangular。
这样在你实例化这个类的时候,调用不同的Rectangular的width和height属性就互不影响了。
追问
是不是这样写的话 上下两个的 width和height 就是两个东西啊 如果不这样写就是上下两个函数里的是同一个啊 为什么我删掉第一个函数里的this不影响运行结果 但删去第二个函数的就影响
追答
构造函数如果参数一样,那样就会出错的,只能删除一个或者修改参数。 删掉第一个函数里的this不影响运行结果 但删去第二个函数的就影响,应该是你实例化的时候调用的是第二个构造函数,就是类似这样的 Rectangular rectangular =new Rectangular (2.5,3.6);
追问
下面是这样的
我删了第一个this运行结果一样
删了第2个运行结果就变成Area of rec2 is 0
追答
应该是没有影响的 可能是GetArea方法的问题 这是我的 public double GetArea() { return width * height; } 我的运行过了是没有影响的
- 2 回答
- 0 关注
- 1435 浏览
添加回答
举报
0/150
提交
取消