Java 哪种做法更好?关于构造函数
就风格而言,哪种做法更好? 使用关键字“this”或为构造函数的参数选择不同的参数名称 案例1: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
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之外也是如此
- 如果您忘记使用“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
。但正如你所说,每个公司都定义自己的编码规则集