image.png
加上了@Override 之后,这个方法必须是正确重写的,要不然会提示报错
image.png
image.png

  1. package com.itheima.d9_extends_override;
  2. public class Test {
  3. public static void main(String[] args) {
  4. // 目标:认识方法重写
  5. NewPhone hw = new NewPhone();
  6. hw.call();
  7. hw.sendMsg();
  8. }
  9. }
  10. /**
  11. * 新手机:子类
  12. */
  13. class NewPhone extends Phone{
  14. // 方法重写:指的是在子类中定义和父类一样的方法
  15. @Override // 1.重写校验注释,加上之后,这个方法必须是正确重写的,这样更安全 2.提高程序的可读性,代码优雅
  16. public void call(){
  17. super.call();
  18. System.out.println("新手机开始视频");
  19. }
  20. // 重写的方法
  21. @Override
  22. public void sendMsg(){
  23. super.sendMsg(); // 先用他父类的功能
  24. System.out.println("新手机开始发短信");
  25. }
  26. }
  27. /**
  28. * 旧手机:父类的
  29. */
  30. class Phone {
  31. public void call(){
  32. System.out.println("打电话");
  33. }
  34. public void sendMsg(){
  35. System.out.println("发短信");
  36. }
  37. }

静态方法不能被重写:

因为父类定义的静态方法是属于父类本身,要调用直接属于类名.方法名 (static静态方法成员共享) 不存在继承关系
image.png