对于这堂课,
class Person {
int age;
public Person(int age) {
this.age = age;
}
}
在我的课本中,作者告诉我写age=age来代替this.age=age也是可以的。
他说,如果参数和数据成员同名,赋值符号的左侧将被视为类的数据成员,右侧是参数。
我的电脑上安装了jdk1.7,age=age之类的代码没有效果。这在哪个版本的 Java 中有效?
对于这堂课,
class Person {
int age;
public Person(int age) {
this.age = age;
}
}
在我的课本中,作者告诉我写age=age来代替this.age=age也是可以的。
他说,如果参数和数据成员同名,赋值符号的左侧将被视为类的数据成员,右侧是参数。
我的电脑上安装了jdk1.7,age=age之类的代码没有效果。这在哪个版本的 Java 中有效?
这本书完全错了,应该更换。使用不同的书。 age = age
永远不会有任何影响,并希望产生编译器警告。
他说,如果参数和数据成员同名,赋值符号的左侧将被视为类的数据成员,右侧是参数。
这在 Sun / Oracle 发布的任何 Java 版本或符合 Java 语言规范的任何版本的任何语言中均无效。
请提供您在其中找到此声明的图书的名称和作者。
我从来没有见过这个。至少我确定 Java 1.4 在这方面与 1.7 一样。
坚持使用:
this.age = age;
也许教科书提到了这种情况,因为这会起作用。由于没有局部变量age
,它将分配customAge
给类字段age
:
class Person {
int age;
public Person(int customAge) {
age = customAge;
}
}