【问题标题】:How do I use the same variable name of a local variable and a constructor parameter in the same class? [duplicate]如何在同一个类中使用局部变量和构造函数参数的相同变量名? [复制]
【发布时间】:2014-12-14 19:48:34
【问题描述】:

所以我想知道是否可以声明一个实例字段(例如 str1)和一个具有相同名称的参数。 基本上,我跑了类似的东西

 private String str1;
 private String str2;
 StringTester str= new StringTester(String str1, String str2)
 {
    str1=str1;
    str2=str2;
 }

当我要求 str1 时,测试器类打印出 null。我应该使用“这个”还是根本不适用? (我知道这是不好的编程约定,但我只是想知道。

【问题讨论】:

  • 使用this。即this.str1 = str1;
  • 您混淆了构造函数的声明和构造函数的调用。重新阅读介绍性 Java 书籍以了解构造函数的语法。不,这根本不是坏习惯。甚至习惯用相同的方式命名它们。
  • 好的,这个 has 是一个重复的问题,但我找不到副本。任何人,请在我们得到一百万个不必要的答案之前帮我解决这个问题。
  • @HovercraftFullOfEels: stackoverflow.com/questions/991757/… ?
  • @HovercraftFullOfEels 我用谷歌找到它们。它比 StackOverflow 更擅长搜索。

标签: java


【解决方案1】:

你的代码应该是

public class StringTester{
  private String str1;
  private String str2;

  StringTester(String str1, String str2)
  {
     this.str1 = str1;
     this.str2 = str2;
  }
}

【讨论】:

    【解决方案2】:

    简单

     this.str1 = str1;
     this.str2 = str2;
    

    现在调用 this.str1 , this.str2 任何地方

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2019-02-11
      • 2017-07-16
      • 2011-08-15
      • 1970-01-01
      相关资源
      最近更新 更多