我刚刚开始使用 Java,我想确保我的格式和约定从一开始就没有问题。
基本上,我的老师这样做(这让我很恼火,因为它不可读)
public class MyClass
{
String name;
int age;
public MyClass (String n, int a)
{
name = n;
age = a;
}
}
虽然我更喜欢做这样的事情:
public class MyClass
{
private String name;
private int age;
public MyClass (String name, int age)
{
this.name = name;
this.age = age;
}
}
我只是想知道两者之间是否存在性能差异以及哪个更容易被接受。
最佳答案
两个片段之间绝对没有性能差异。它仅取决于可读性。
通常首选第二种变体,因为您为构造函数参数使用有意义的名称,而不是实际上没有任何意义的 n
和 a
。看来您的老师使用不同的名称只是为了避免使用 this.
,我不建议这样做,因为明确的 this.
强调您是分配类的字段,而不仅仅是任意变量,这是构造函数中的一个重要区别。
关于java - 使用 "this.xxx"指向字段时有性能差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238053/