什么是重写
重写就是子类方法对父类方法的覆盖,调用方法是会去掉子类的方法
有什么需要注意的细节
方法的定义: 权限修饰符 返回值类型 方法名 (形参)throws 异常{方法体}
1·子类的方法名与形参必须要与父类的完全一样。
2·子类的权限修饰符必须要大于或者等于父类的(理解:反证一下,如果子类的权限修饰符可以小于父类的,父类中的方法权限为public,子类为private,这是去调用,会出现调用不到的情况。形象一点就是摊煎饼果子,先摊一个小的,然后用一个大的去覆盖第一个小的,重写不就是对父类方法的覆盖嘛)(!父类中权限修饰符为private的方法不能被重写,因为这就是不可见嘛)
3·接下来说说返回值类型,这个需要分情况来考虑了,第一种,父类返回值类型为void,子类必须为void。第二种不为void,这里面又分为两种,一种返回值类型为基本数据类型,一种为引用数据类型,基本数据类型,父类与子类的返回值类型一样就完事了,但是为应用数据类型,比如说父类的返回值为A类,那么子类的返回值为A类或者说是A类的子类(这个我也不知道该怎么形象的去理解)
4.抛出的异常,和返回值类型为应用数据类型差不多,子类抛出的异常是父类的异常或者是父类异常的子类。
大概就这么点坑吧,因为我自己经常踩坑里,所以总结一下,方便以后踩坑时知道自己踩的是哪一个坑里面。