有关重写的问题
重写和覆盖的关系
* 重写就是覆盖 *
需要注意的几点:
- 仅当实例方法是可访问时,它才能被覆盖。因为私有方法在它的类本身以外是不能访问的,所以它不能被覆盖。如果子类中定义的方法在父类中是私有的,那么这两个方法完全没有关系。
- 与实例方法一样,静态方法也能被继承。但是,静态方法不能被覆盖。如果父类中定义的静态方法在子类中重新被定义,那么在父类中定义的静态方法将被禁藏。可以使用语法: 父类名.静态方法名(superClassName.staticMethodName)调用隐藏的静态方法。
重写与重载
不允许在子类中的一个方法具有和它父类中的方法完全相同的方法签名,但是返回值类型不同。这样会导致语法错误。
子类中与其父类中的方法同名但具有不同参数类型的方法被称为重载。