package test;
import com.alibaba.fastjson.JSON;
public class Test4 {
public static void main(String[] args) {
Child child = new Child("Chi","10");
Pe pe = child;
Object object = pe;
System.out.println(JSON.toJSONString(child));
System.out.println(JSON.toJSONString(pe));
System.out.println(JSON.toJSONString(object));
//控制台结果:
//{"address":"address","age":"10","name":"Chi"}
//{"address":"address","age":"10","name":"Chi"}
//{"address":"address","age":"10","name":"Chi"}
}
}
class Pe{
private String Name= "P";
private String address = "address";
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public Pe() {
super();
}
public Pe(String name) {
super();
Name = name;
}
}
class Child extends Pe{
private String age;
private String name;
public Child() {
super();
}
public Child(String name,String age) {
super("P");
this.name = name;
this.age = age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
首先:父类 Pe类中包含私有字段两个:name,address; 子类Child类中包含私有字段两个:name,age;
创建子类对象;jvm 初始化对象(父类,子类);
现在的子类对象引用指向的内存中包含了哪些信息呢?
包含父类两个属性,和子类两个属性;
当子类属性与父类属性相同时,会覆盖父类属性(不可见),当子类属性没有,父类属性存在时,显示的是父类属性.