当前位置: 首页 > 面试题库 >

Java中的影子变量是什么?

郭兴文
2023-03-14
问题内容

我正在读一本书,遇到过Java中的“影子变量”一词,但没有描述。最终,这些变量是做什么用的,以及如何实现?


问题答案:

除了提供我自己的描述之外,我可能会要求您例如在以下位置阅读它:http
:
//en.wikipedia.org/wiki/Variable_shadowing。了解变量的阴影后,建议您继续阅读有关覆盖/阴影方法和可见性的一般知识,以全面了解此类术语。

实际上,由于该问题是根据Java术语提出的,因此这里有一个迷你示例:

    public class Shadow {

        private int myIntVar = 0;

        public void shadowTheVar(){

            // since it has the same name as above object instance field, it shadows above 
            // field inside this method
            int myIntVar = 5;

            // If we simply refer to 'myIntVar' the one of this method is found 
            // (shadowing a seond one with the same name)
            System.out.println(myIntVar);

            // If we want to refer to the shadowed myIntVar from this class we need to 
            // refer to it like this:
            System.out.println(this.myIntVar);
        }

        public static void main(String[] args){
            new Shadow().shadowTheVar();
        }
    }


 类似资料:
  • 问题内容: 我正在阅读我的Deitel《 Java How to Program》一书,并遇到了“ 阴影 ”一词。如果允许阴影,那么Java类中有什么情况或目的? 例: 问题答案: 阴影的基本目的是使本地代码与周围的类分离。如果不可用,请考虑以下情况。 API中的Class Foo已发布。在代码中将其子类化,并在子类中使用名为bar的变量。然后,Foo发布更新,并在其类中添加一个称为Bar的受保护

  • 问题内容: Q1。 Java中的condVar是什么?如果我看到下面的代码,条件变量是否一定必须在“ mutex.acquire() ”和“ mutex.release() ”块内? 我有三个正在运行的线程 myThreadA , myThreadB 和 myThreadC ,它们调用相同的函数 commonActivity() 来触发函数 myWorkReport(), 例如 Q2。 使用tim

  • 问题内容: 我的任务是制作一个带有实例变量的程序,该变量应该由用户输入。但是我什至不知道什么是实例变量。什么是实例变量?如何创建一个?它有什么作用? 问题答案: 实例变量是在类内部但在方法外部声明的变量: 现在可以在其他类中实例化此IronMan类以使用这些变量,例如: 这就是我们使用实例变量的方式。无耻插头:来自实例本免费的电子书拉到这里这里。

  • 本文向大家介绍C ++中的变量和变量类型是什么?,包括了C ++中的变量和变量类型是什么?的使用技巧和注意事项,需要的朋友参考一下 变量为我们提供了程序可以操纵的命名存储。C ++中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。一个非常简单的变量示例是- 在这里,我们有一个变量my_val,类型为int(integer)

  • 问题内容: 本地类的Java文档说: 此外,局部类可以访问局部变量。但是,局部类只能访问声明为final的局部变量。当局部类访问封闭块的局部变量或参数时,它将捕获该变量或参数。例如,PhoneNumber构造函数可以访问局部变量numberLength,因为它被声明为final。numberLength是捕获的变量。 捕获的变量是什么,其用途是什么,为什么需要它?请帮助我理解它的概念。 问题答案:

  • 问题内容: 如果将变量声明为,那么我可以从任意位置访问它。我还知道,静态成员由类的所有实例共享,并且不在每个实例中重新分配。 声明变量与声明变量有什么不同吗? 在这两种情况下,都不能以任何其他类或从任何其他类访问它。 将变量声明为静态是否会赋予它其他特殊属性? 问题答案: 当然,可以将其作为,但只能从定义它的类内部进行访问-这是因为它被定义为。 或变量通常用于常量。例如,许多人不喜欢在代码中“硬编