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

Java-具有相同名称的静态变量和参数

逑阳泽
2023-03-14
问题内容

假设我有一个Helper类,如下所示:

public class Helper {
    private Context context;
    private static HelperListener listener;


    public Helper(Context context, HelperListener listener) {
        this.context = context;
        listener = listener; // Can't tell which one
    }
}

context并且listener是将被设置一次,在构造函数的变量。

context不是static,因此我可以使用来区分变量和参数this.context

listener另一方面,是static。在涉及静态变量时,是否有任何方法可以将其与参数区分开?


问题答案:

Helper.listener = listener;尽管不建议通过构造函数设置静态变量的值,但可以使用。



 类似资料:
  • 问题内容: 我的问题是为什么我不能再次调用该函数?或者,如何做到这一点? 假设我有这个功能: 我称之为: 我得到4。 但是,假设我声明了一个与该函数同名的变量(错误): 现在,如果我尝试这样做: 要么: 我将收到此错误:“ TypeError:’int’对象不可调用” 无法将变量“ a”分配给函数? 问题答案: 完成此操作后: 不再是一个 函数 ,而只是一个 整数 (您已将其重新分配!)。因此,很

  • 问题内容: 在Java中,实例变量和方法可以具有相同的名称而没有任何不稳定或冲突吗? 我想确保是否可以摆脱它的编译问题,以免造成任何错误。 问题答案: 是的,这很好,主要是因为在语法上,它们的用法不同。

  • 问题内容: 我将如何完成? 我敢肯定有一个非常明显的答案。现在只是在逃避我。 问题答案: 是的,他们可以使用相同的名称。但是,要引用实例变量,您需要使用前缀:

  • 问题内容: 我正在尝试将一个旧项目迁移到Retrofit库,并且该项目具有相当棘手的API。所以我有一个这样的查询模板: 我必须在以下模板的此处添加一些参数: 例如: 这就是API的工作方式,我无法更改。我知道我们可以将列表作为参数传递,如下所示: 但是,如何动态设置参数名称呢? 问题答案: 感谢@ILLIA DEREVIANKO(https://github.com/square/retrofi

  • 问题内容: 我在这里已经读到,在Java中,具有相同名称但不同类型的两个变量可以在同一范围内共存。我的意思是这个 但是所有的Java IDE都不允许这样的代码。我想知道这样的代码在语法上是否正确,或者只是IDE不允许这样的代码防止歧义。 无论如何,这是网站的摘录 “如果幸运的话,您也许能够重新编译Jad的输出。 但是,Java VM对于变量命名的规则比Java语言本身更为宽松。例如,一个有效的类文

  • 但所有java IDE都不允许这样的代码。我想知道这样的代码在语法上是否真的正确,或者只是IDE不允许这样的代码来防止歧义。 总之,这里是从网站上摘录的 “如果你幸运的话,你也许可以重新编译JAD的输出。然而,Java VM对变量命名的规则比Java语言本身更宽松。例如,一个有效的类文件可以有几个名为'a'的变量,只要它们有不同的类型。如果你反编译这样的类,你得到的源代码将是无效的。 JAD通常会