【发布时间】:2015-03-19 09:17:00
【问题描述】:
当尝试通过将参数名称保留为实例变量名称来从构造函数初始化实例变量时。我收到的输出为 0. 而不是传递的值。请解释一下?
public class Circle
{
int x;
int y;
int radius;
//Constructor with same parameters of field name
public Circle(int x,int y,int radius)
{
x=x;
y=y;
radius=radius;
}
//Overridden to String()
public String toString()
{
return "center("+x+" , "+y+") and radius ("+radius+")";
}
//Main method
public static void main(String[] args)
{
System.out.println(new Circle(5,5,50));
}
}
当我将值从构造函数 5、5、50 传递给构造函数的参数时。他们不应该显示相同的值吗?
System.out.println(new Circle(5,5,50)); // 发送给构造函数的值
public Circle(int x,int y,int radius) //构造函数参数取值
【问题讨论】:
-
您目前认为
x=x;做了什么? -
改成
this.x = x等
标签: java