动手动脑作业3

在Java中,如果一个变量在不同的作用域中被多次定义,那么位于内层作用域的变量将会“屏蔽”位于外层作用域的变量,即内层作用域的变量将具有更高的优先级。

下面是一个示例程序,用于演示同名变量的屏蔽原则:

```java
public class VariableShadowingExample {
public static void main(String[] args) {
int num = 10; // 外层作用域的变量num

System.out.println("外层作用域的变量num:" + num);

{
int num = 20; // 内层作用域的变量num,屏蔽了外层作用域的变量num
System.out.println("内层作用域的变量num:" + num);
}

System.out.println("外层作用域的变量num:" + num);
}
}
```

在这个示例程序中,我们定义了一个外层作用域的变量`num`,并初始化为10。然后,在代码块(内层作用域)中,我们又定义了一个同名变量`num`,并初始化为20。由于内层作用域的变量`num`屏蔽了外层作用域的变量`num`,所以在代码块中打印的是内层作用域的变量`num`的值,而在代码块外打印的是外层作用域的变量`num`的值。

运行这个程序,输出结果为:
```
外层作用域的变量num:10
内层作用域的变量num:20
外层作用域的变量num:10
```

可以看到,内层作用域的变量`num`屏蔽了外层作用域的变量`num`,所以在代码块中打印的是内层作用域的变量`num`的值,而在代码块外打印的是外层作用域的变量`num`的值。

posted @ 2023-09-14 21:43  恋恋恋白  阅读(8)  评论(0)    收藏  举报