gpt4 book ai didi

java - 为什么我可以两次声明变量的数据类型?

转载 作者:行者123 更新时间:2023-12-03 06:57:47 26 4
gpt4 key购买 nike

在下面的代码中:

public class Square 
{
private double side;

public Square(double a)
{
double side = a;
}

public double area()
{
return side * side;
}

public static void main(String[] args)
{
Square r = new Square(10.0);
System.out.println(r.area());
}
}

声明字段时:

 private double side;

然后在构造函数中:

double side = a;

为什么没有抛出错误?

我这么认为是因为我们声明了变量 double 的数据类型两次。为什么这段代码会执行?

最佳答案

因为第二个声明了构造函数的本地变量。它掩盖了成员变量(您仍然可以通过 this.side 访问该变量)。

在这种情况下,该声明完全没有用,因为一旦构造函数结束,该变量就会消失。

此外,即使这是一个问题,也不会引发运行时错误。这将是一个编译时错误。

关于java - 为什么我可以两次声明变量的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59988704/

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