Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哪种做法更好?关于构造函数_Java_Oop - Fatal编程技术网

Java 哪种做法更好?关于构造函数

Java 哪种做法更好?关于构造函数,java,oop,Java,Oop,就风格而言,哪种做法更好? 使用关键字“this”或为构造函数的参数选择不同的参数名称 案例1: public class Student { //variables private String name; //constructor public Student(String name) { this.name = name; } } 或案例2: public class Student { //variables private String na

就风格而言,哪种做法更好? 使用关键字“this”或为构造函数的参数选择不同的参数名称

案例1:

public class Student {
  //variables
  private String name;

  //constructor
  public Student(String name) { 
    this.name = name;
  }
}
或案例2:

public class Student {
  //variables
  private String name;

  //constructor
  public Student(String aName) { 
    name = aName;
  }
}

这两种情况没有区别。这取决于你的喜好。你可以用任何你喜欢的方式做这件事


我同意第一种方法。但是我没有任何解释来解释为什么选择这个。因为两者没有任何区别

两种情况无差异。这取决于你的喜好。你可以用任何你喜欢的方式做这件事

我同意第一种方法。但是我没有任何解释来解释为什么选择这个。因为两者没有任何区别

这方面没有“标准”的方法。你会发现人们在代码可读性方面被划分为不同的“思维流派”

我的建议是,在你的组织中使用最多的,或者你认为更可读的。< /P> 一、 首先,更愿意为参数使用不同的名称,并为字段使用“this.”,因为:

  • 如果您忘记使用“this”,使用相同的名称可能会导致轻微的头痛
  • 使用“this.”可以清楚地表明这是一个成员字段而不是局部变量,即使在颜色编码的IDE之外也是如此
同样,这是你应该做出的个人决定:)

没有“标准”的方法来做这件事。你会发现人们在代码可读性方面被划分为不同的“思维流派”

我的建议是,在你的组织中使用最多的,或者你认为更可读的。< /P> 一、 首先,更愿意为参数使用不同的名称,并为字段使用“this.”,因为:

  • 如果您忘记使用“this”,使用相同的名称可能会导致轻微的头痛
  • 使用“this.”可以清楚地表明这是一个成员字段而不是局部变量,即使在颜色编码的IDE之外也是如此

同样,这是你应该做出的个人决定:)

没有好坏之分。你可以从两种方式中选择对你方便的任何一种。没有区别。
但我更喜欢案例一,因为一件事不需要记住两个不同的变量名

没有好坏之分。你可以从两种方式中选择对你方便的任何一种。没有区别。
但我更喜欢案例一,因为一件事不需要记住两个不同的变量名

我喜欢第一个。它总是可以在不考虑像aName这样的新名称的情况下使用。此外,举例来说,eclipse就是这样生成setter的。

我更喜欢第一个。它总是可以在不考虑像aName这样的新名称的情况下使用。此外,举例来说,eclipse就是这样生成setter的。

两者之间没有真正的区别

当我开始上大学时,我学会了用
这个
来做,但当我去了另一所学校时,他们教我用第二种方法,用不同的领域名称来做。为了增加难度,他们甚至教我不要完全这样做,在构造函数中使用setter

我更喜欢将第一种方法与setter结合使用(这样您可以检查不同的内容或确保值以正确的方式存储,即名称始终以大写字母开头)

我的做法如下:

public class Student {
  //variables
  private String name;

  //constructor
  public Student(String name) { 
    setName(name);
  }

  //setter
  public void setName(String name){
    this.name = name;
  }
}

但是你应该选择和使用你最喜欢的方式,因为你是成功的人。

两者之间没有真正的区别

当我开始上大学时,我学会了用
这个
来做,但当我去了另一所学校时,他们教我用第二种方法,用不同的领域名称来做。为了增加难度,他们甚至教我不要完全这样做,在构造函数中使用setter

我更喜欢将第一种方法与setter结合使用(这样您可以检查不同的内容或确保值以正确的方式存储,即名称始终以大写字母开头)

我的做法如下:

public class Student {
  //variables
  private String name;

  //constructor
  public Student(String name) { 
    setName(name);
  }

  //setter
  public void setName(String name){
    this.name = name;
  }
}

但你应该选择和使用你最喜欢的方式,因为你是成功的人。

取决于风格和自我偏好。这不会影响性能。我发现案例1)更具可读性。
private.String name-这是如何工作的?哪一个更为成熟?我怀疑答案是“无论您的组织的编码标准如何规定您应该这样做”。我更喜欢使用
这个。
,你只需仔细检查你输入的内容。这个问题需要进行意见辩论。这里没有更好的,这取决于风格和个人喜好。这不会影响性能。我发现案例1)更具可读性。
private.String name-这是如何工作的?哪一个更为成熟?我怀疑答案是“无论您的组织的编码标准如何规定您应该这样做”。我更喜欢使用
这个。
,你只需仔细检查你输入的内容。这个问题需要进行意见辩论。这里没有更好的方法。我认为,标准的Java方法是调用
this.attribute=attribute
,因为大多数初学者需要理解“this”的含义。在Android上,谷歌提出了另一种编码策略:私有属性(成员)获得一个“m”前缀。例如:
mAttribute=attribute
。但正如你所说,每个公司都定义自己的编码规则集。我倾向于使用“this”关键字。看起来更自然。我认为,标准的Java方式,因为大多数初学者需要理解“this”的含义,是调用
this.attribute=attribute
。在Android上,谷歌提出了另一种编码策略:私有属性(成员)获得一个“m”前缀。例如:
mAttribute=attribute
。但正如你所说,每个公司都定义自己的编码规则集