gpt4 book ai didi

java - Java 类中使用的变量阴影是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:31:08 26 4
gpt4 key购买 nike

我正在阅读我的 Deitel,Java How to Program 一书,遇到了shadowing这个词。如果允许阴影,Java 类中有什么情况或目的?

例子:

public class Foo {

int x = 5;

public void useField() {
System.out.println(this.x);
}
public void useLocal() {
int x = 10;
System.out.println(x);
}
}

最佳答案

影子的基本目的是将本地代码与周围的类解耦。如果不可用,请考虑以下情况。

API 中的 Foo 类已发布。在您的代码中,您将其子类化,并在您的子类中使用名为 bar 的变量。然后 Foo 发布一个更新并将一个名为 Bar 的 protected 变量添加到它的类中。

现在由于您无法预料的冲突,您的类(class)将无法运行。

但是,不要故意这样做。只有当你真的不关心范围之外发生的事情时才让这种情况发生。

关于java - Java 类中使用的变量阴影是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1092099/

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