首先,我们来看一个集成类的实例:
public class Test {
public static void main(String[] args) {
Person p = new Person();
p.name = "张三";
p.age = 12;
// p.test = 123;
p.say();
}
}
class student extends Person {
}
class Person {
String name;
int age;
private int test;
/**
* 空参构造函数
*/
public Person() {
}
/**
* 有参构造函数
*/
public Person(String name,int age,int test) {
this.name = name;
this.age = age;
this.test = test;
}
/**
* 测试方法
*/
public void say() {
System.out.println("姓名:" + this.name + "年龄:" + this.age + "测试:" + this.test);
}
}
那么,子类集成父类之后是为什么可以使用父类的开放元素呢?接下来我们对他们在内存中的实例化进行分析
{{uploading-image-563874.png(uploading...)}}
1、首先在栈内存中创建Student s对象,并给初始值为null;
2、在堆内存中创建学生对象,发现继承了Person对象,然后先创建Person对象,再创建Student对象,再把Person对象的地址给Student对象;
3、于是student对象便可以通过自己访问到父类Person对象的东西。
原文:https://www.cnblogs.com/huangwenchao0821/p/14521888.html