刚学习继承的时候,总是会有这样的疑问. 子类继承父类时,会继承所有的非私有的属性和方法.那么在用set方法修改父类的私有属性时,怎么没有报空指针异常呢? 后来仔细想过这个问题,既然没有报空指针,那么在内存里这个属性一定是存在的.那么问题又来了,既然都在问题为什么又不能访问呢.百度了一下,原来在实例化子类的过程中,有一些有趣的东西.都知道在实例化子类之前,会先调用父类的构造方法.此时,就可以把子类的内存看做两部分,一部分是父类,一部分是子类其本身.super和this就分别指向这两部分,this的