java - 教科书上的声明可以在ctor中使用age=age代替this.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 永远不会产生任何影响,并有望产生编译器警告。

关于java - 教科书上的声明可以在ctor中使用age=age代替this.age = age,什么时候正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340747/

相关文章:

当字符串包含冒号时 java.net.URI().getPath() 返回 null?

java - 在 Google Analytics 中为 Activity 名称设置自定义标签

java - 在运行时加载 ASM 生成的类

java - 为什么我从这个 Java 程序中得到以下输出?

Java:用逗号格式化数字

java - 奇怪的连接被拒绝: connect error in Java client

java - Kotlin - 如何在 Kotlin 中不使用科学记数法将 Double 转换为 String?

java - 忽略 WCF 服务的 Axis 客户端上的证书身份验证

java - Eclipse,按顺序运行实例,一个接一个

java - 添加 MediaPlayer 会使我的应用程序崩溃 - 无法输出声音