gpt4 book ai didi

java - 阴影的概念

转载 作者:行者123 更新时间:2023-12-04 06:49:46 24 4
gpt4 key购买 nike

鉴于以下代码:

public class A {
static final long tooth = 1L;

static long tooth(long tooth){
System.out.println(++tooth);
return ++tooth;
}

public static void main(String args[]){
System.out.println(tooth);
final long tooth = 2L;
new A().tooth(tooth);
System.out.println(tooth);
}
}

你能解释一下阴影的概念吗?
还有一件事,什么 tooth实际上是在 main 方法的代码中使用的吗?

而且我知道这是一个非常丑陋的代码,但丑陋是 SCJP 书籍作者的标准选择。

最佳答案

阴影作为一个概念并没有什么神奇之处。只是对名称的引用将始终引用最近的封闭范围内的实例。在你的例子中:

public class A {
static final long tooth#1 = 1L;

static long tooth#2(long tooth#3){
System.out.println(++tooth#3);
return ++tooth#3;
}

public static void main(String args[]){
System.out.println(tooth#1);
final long tooth#4 = 2L;
new A().tooth#2(tooth#4);
System.out.println(tooth#4);
}

}

我用数字注释了每个实例,格式为“tooth#N”。基本上,任何已在其他地方定义的名称的引入都会使该范围其余部分的早期定义黯然失色。

关于java - 阴影的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300805/

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