gpt4 book ai didi

java - java中构造函数的困惑

转载 作者:行者123 更新时间:2023-12-01 07:56:47 25 4
gpt4 key购买 nike

当尝试通过将参数名称保留为实例变量名称来从构造函数初始化实例变量时。我收到的输出为 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)//构造函数参数采用的值

最佳答案

您需要使用this.x = x

作为参数传递的x遮蔽了字段。发生这种情况时,您可以使用 this.x 来表示该字段。

关于java - java中构造函数的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29140717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com