Rumah > Soal Jawab > teks badan
java 子类继承 父类, 但子类中 包含和父类相同 属性 ,给子类赋值之后,父类的相同的属性值还是空的。
类定义如下:
public class Person {
private String name;
private String age;
// ignore getter and setter
}
public class Student extends Person {
private String name;
private String score;
// ignore getter and setter
}
public static void main(String[] args){
Student stu = new Student();
stu.setAge("12");
stu.setName("test");
}
debug看到
父类(Person)的name属性值是null,继承的方法是子类会覆盖掉父类相同的方法,但是这属性为什么没覆盖
ringa_lee2017-04-18 09:05:21
可以在Student里编一个方法a(),在方法里用super调用Person类里方法,然后再在main方法里调用该a()方法,应该可行
大家讲道理2017-04-18 09:05:21
这个问题已经解决了。
我只是指出题主在题目描述中的一点不准确的地方:
父类(Person)的name属性值是null,继承的方法是子类会覆盖掉父类相同的方法,但是这属性为什么没覆盖。
其实,根据我的理解:“子类属性对父类同名属性的作用”与“子类方法对父类同名方法的作用”是相同的。
其实,所谓子类”覆盖了“父类同名方法,其实并没有真地覆盖,父类方法还在那里。只不过你在debug根据里看不到而已。