Java 继承的getter方法是否需要重写?
我想知道,如果你用与父类同名的字段创建一个子类,那么在子类对象上调用的getter方法是访问它的字段还是访问父类的字段?或者这些方法是否需要再次写入并重写?函数需要再次写入并重写。请参见此示例:Java 继承的getter方法是否需要重写?,java,inheritance,Java,Inheritance,我想知道,如果你用与父类同名的字段创建一个子类,那么在子类对象上调用的getter方法是访问它的字段还是访问父类的字段?或者这些方法是否需要再次写入并重写?函数需要再次写入并重写。请参见此示例: static class A { private int i = 0; public A() { } public A(int i) { this.i = i; } public int getI() { return
static class A {
private int i = 0;
public A() {
}
public A(int i) {
this.i = i;
}
public int getI() {
return this.i;
}
}
static class B extends A {
private int i;
public B(int i) {
this.i = i;
}
}
public static void main(String[] args) {
B b = new B(5);
System.out.println(b.getI());
}
输出:0,因为它正在使用A.getI,它引用A中的i字段
现在使用相同的代码,但使用B.getI:
输出:5。您可以根据自己的要求将其作为代码编写,并且可以自己检查,对吗?
static class A {
private int i = 0;
public A() {
}
public A(int i) {
this.i = i;
}
public int getI() {
return this.i;
}
}
static class B extends A {
private int i;
public B(int i) {
this.i = i;
}
@Override
public int getI() {
return this.i;
}
}
public static void main(String[] args) {
B b = new B(5);
System.out.println(b.getI());
}