java面向对象-重写

java面向对象-重写


  • 重写顾名思义就是重写父类的方法
  • 需要有继承关系
  • 方法名必须相同,参数列表必须相同,修饰符范围可以扩大,但不能缩小
  • 重写都是方法的重写,和属性无关
  • 只有非静态方法才可以实现方法的重写
  • 重写的方法的修饰符要是public(公共的),不能是private(私有的),私有的方法不能被重写

为什么需要重写

  • 父类的功能太少,子类不一定满足
  • 父类的功能太多,子类不一定需要,只需要一点点,所以需要重写

在这里插入图片描述在这里插入图片描述首先,我们来看两张图,第一张图是加了static的方法,第二张图没加,第一张图输出结果是两个方法都被实现,这说明父类的say方法并没有被重写,而第二张图输出结果都为:Student说话了,这说明父类的say方法被子类重写了。
我们由此得出结论:

  • 静态方法与非静态方法的区别很大,
  • Student student = new Student();
  • Person student1 = new Student();
  • 静态方法的调用只和左边,定义的数据类型有关,你调用输出的是哪个数据类型,它就输出哪个数据类型的方法
  • 只有非静态方法才可以实现方法的重写

版权声明:本文为qq_60264381原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。