下面两种情况在父类和子类中也有相同的变量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/