类的重写和类的访问控制修饰符

基本概念:

重写也叫作覆盖,就是当子类的成员与父类的成员的名字相同的时候,从父类继承下来的成员会重新定义!

此时,通过子类的对象访问的时候,真正起作用的是子类中定义的成员!

如果必须要执行被重新的父类方法,必须在子类的方法中,显式的调用父类的同名方法!

语法形式为:

在子类的方法中执行:

父类名::父类中的方法名(这里的父类名可以用parent来代替)

几点注意:

1、parent不一定就代表本类的上一级父类,如果父类中没有找到相应的方法,会继续的向更上一级的父类查找!

2、当子类重写父类的方法的时候,方法的参数形式(个数),必须与父类保持一致(构造方法除外)

 

访问控制修饰符(public、protect、private)的使用原则:

1、从形式上看,子类可以继承父类的私有成员,但是却无法使用!

2、当子类重写父类的成员时,子类成员的访问控制权限不应该低于父类的访问控制权限!

3、私有成员(私有属性和私有方法)都不能被重写,但是子类还是可以定义跟父类私有成员同名的成员,但是此时,只是当作子类自身的新的成员而已!

4、虽然父类的私有方法不能被重写,但是,如果子类重新定义了一个同名的方法的时候,方法参数的形式(参数的个数)还是需要和父类保持一致!

猜你喜欢

转载自blog.csdn.net/huihuikuaipao_/article/details/83027135