阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_7_继承中方法的覆盖重写_注意事项



创建一个父类

创建一个子类,并继承这个父类

父类总定义一个方法叫做method

子类中要想进行覆盖重写,也定义为相同的名称。
名称相同,参数列表相同。这种情况下就是发生了重写

子类的方法名称改成method1就是不覆盖重写

为了保证进行有效的覆盖重写 @Override

子类的方法上面 加上注解

@Override可以起到安全监测的作用,如果把方法名字改掉了那么这里就报错了。


返回值




为了演示 父类返回一个Object类型的, 实际返回一个null

子类中因为返回值的类型就会报错了。 


子类和父类写成一样的。

前提是返回值类型比它小就可以了。例如这里改成String类型

因为Object是String的父类,所以这里是满足要求的


如果把父类改成String,子类改成Object那么就会报错了。 

子类中使用Object那么就会报错了

要么和父类返回值一样,要么比父类返回值更小。如果返回比父类返回值大,那么就会报错

权限修饰符

子类方法覆盖父类方法,必须要保证权限大于等于父类权限。




父类是public,子类改成private。这样就不行! 子类必须大于等于父类的权限才行

父类是public,子类最高也就是public

父类使用default的形式,就是不写。

子类中使用public ,是比父类的要大的 所以这样是没问题的


,以上作为了解。九成的重写 方法名和权限、参数都是相等的





 

原文地址:https://www.cnblogs.com/wangjunwei/p/11212546.html