当子类觉得父类中的方法不好用或者无法满足自己需求时,子类可以重写一个方法名称、参数列表一样的方法去覆盖父类的方法,这就是方法重写。
如图B可以修改A的方法,调用方法时会调用重写的方法:
方法重写的注意事项:
1.重写技巧:使用Override注解,可以指定Java编译器,检查重写格式是否正确,增强可读性。
2.子类重写父类方法时,访问权限必须大于等于父类的该方法权限
3.重写方法的返回值类型,必须和被重写方法的返回值类型一样,或者范围更小
4.私有方法和静态方法不能被重写
如果直接输出对象,会返回地址,其实全写是obj.toString,如何输出对象的内容呢,我们可以改变toString方法
重写前a.sout输出:
重写后输出: