java - 相同的变量名

标签 java

下面两种情况在父类和子类中也有相同的变量a。使用这些编码风格会产生什么问题吗?谢谢

情况1

public class A {
    int a;
    void meth(int b) {
        a+=b;
    }
}

public class B extends A {
    int a;
    void meh2(int b) {
        a+=b;
    }
}

情况2

public class A {
    int a;
    void meth(int b) {
            a+=b;
    }
}

public class B extends A {
    int a;
    void meh2(int b) {
        a+=b;
    }
    B(int a) {
        this.a=a;
    }
}

最佳答案

取决于您如何将其分类为问题。我相信它会如你所期望的那样工作。简而言之,这是一种不明智的做法,但是类“A”中的“a”(带有或不带有“this.”) ) 由于遮蔽,永远不会被类“B”看到或使用。

关于java - 相同的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8380313/

相关文章:

java输入流无法显示@

java - Retrofit v2 Call.cancel() 是否删除回调?

如果只有一个客户端并且需要完整的对象读取,Java NIO 的优势

java - 具有无状态服务的分布式企业应用程序框架?

java - 如何在Java中组织数据

java - 建立与数据库的连接是什么意思? DriverManager.getConnection 的作用是什么?

java - 如何获取 OpenJPA 无效数据转换异常的确切详细信息?

java - 如何检查lucene文件夹数据包含哪些内容?

java - 使用 MapBox Android SDK 进行离线切片缓存

java - 为什么这个使用 Collections.sort 的程序只对大小为 32 或更大的列表失败?