Bob*_*ith 3 java variables types class object
在下面的代码中:
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());
}
}
Run Code Online (Sandbox Code Playgroud)
声明字段时:
private double side;
Run Code Online (Sandbox Code Playgroud)
然后在构造函数中:
double side = a;
Run Code Online (Sandbox Code Playgroud)
为什么不抛出错误?
我认为是因为我们两次声明了变量 double 的数据类型。为什么会执行这段代码?
因为第二个声明了一个局部于构造函数的变量。它掩盖了成员变量(您仍然可以通过 访问它this.side)。
在这种情况下,该声明完全无用,因为该变量将在构造函数结束后立即消失。
此外,即使这是一个问题,它也不会抛出运行时错误。这将是一个编译时错误。
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |