我有一个警告:对变量长度的赋值在输出中没有效果和默认值。如果我添加此关键字警告消失。为什么会这样?
这是我的代码
class Rectangle {
int length;
String breadth;
Rectangle(int length,String breadth)
{
length = length;
breadth = breadth;
}
}
class basic2 {
public static void main(String args[]) {
Rectangle r1 = new Rectangle(20,"hi");
System.out.println("Length of Rectangle : " + r1.length);
System.out.println("Breadth of Rectangle : " + r1.breadth);
}
}`
答案 0 :(得分:2)
您的构造函数参数会隐藏类成员,因为它们具有相同的名称。因此length = length;
将变量分配给自身,这是没有意义的。
要解决此问题,请使用this
关键字来引用班级成员:
Rectangle(int length,String breadth)
{
this.length = length;
this.breadth = breadth;
}
答案 1 :(得分:0)
因为您指的是构造函数的参数。使用this.length=length