子类继承父类:
子类拥有父类的所有属性和方法,包含父类的私有方法和属性,但是不能使用父类的父类的私有属性和方法。
在内存中:一个子类被创建的时候首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类对象。
子类继承父类可以这样理解:
子类对象确实拥有了父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问到的,只是拥有,但是如果父类中的私有属性有get方法,子类可以调用get方法访问父类的私有属性。
子类对父类方法的重写的相关点:
- 重写的方法不能比父类的访问权限低。
- 重写的方法抛出的异常不能比父类的范围小。
- 子类不能重新父类的静态方法。
- 构造方法不能被重写,因为构造方法不能被继承。
- 重写是针对成员方法的,与成员变量无关。