创建一个父类
创建一个子类,并继承这个父类
父类总定义一个方法叫做method
子类中要想进行覆盖重写,也定义为相同的名称。
名称相同,参数列表相同。这种情况下就是发生了重写
子类的方法名称改成method1就是不覆盖重写
为了保证进行有效的覆盖重写 @Override
子类的方法上面 加上注解
@Override可以起到安全监测的作用,如果把方法名字改掉了那么这里就报错了。
返回值
为了演示 父类返回一个Object类型的, 实际返回一个null
子类中因为返回值的类型就会报错了。
子类和父类写成一样的。
前提是返回值类型比它小就可以了。例如这里改成String类型
因为Object是String的父类,所以这里是满足要求的
如果把父类改成String,子类改成Object那么就会报错了。
子类中使用Object那么就会报错了
要么和父类返回值一样,要么比父类返回值更小。如果返回比父类返回值大,那么就会报错
权限修饰符
子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
父类是public,子类改成private。这样就不行! 子类必须大于等于父类的权限才行
父类是public,子类最高也就是public
父类使用default的形式,就是不写。
子类中使用public ,是比父类的要大的 所以这样是没问题的
,以上作为了解。九成的重写 方法名和权限、参数都是相等的