Java第九天-继承
2024-04-10 04:10:27  阅读数 489

继承:

Java当中的第二个重要特性:extends关键字--->扩展
对相同的代码进行抽取---工具类的概念---封装
让多个有重复性的类产生关联把重复性的代码放在公有类当中,让其他类继承这个公有类

特点:

  1. 一个class子类只能有一个直接父类但是一个父类可以有多个直接子类
  2. 被public修饰的类名必须和所在的类文件的名称完全保持一致一个类文件当中只能有一个被public修饰的类
  3. 子类可以获取到父类当中所有的成员信息

使用继承语法格式

class 类名(子类) extends 类名(父类){}

继承关系当中的成员变量特点:

  • 当父类是私有的,子类虽然有父类的变量,但是不能直接使用,只有当父类的成员变量非私有,子类才能直接使用
  • 如果子类定义了相同的成员变量,那么子类用的是自己 的,而不是父类的
  • 当子类定义了相同的成员变量,如果子类要使用父类的成员变量,使用super关键字进行 调用,格式为 super.成员变量名称

继承关系当中的成员方法特点:

1.如果父类的成员方法是私有的,那么子类不能使用,如果父类的成员方法是非私有的,那么子类可以使用
2.如果子类定义了父类相同的方法,叫做方法的重写(覆盖),当子类对象进行方法调用的时候优先调用子类
  的方法,如果子类中没有就回去父类中
3.在子类进行方法重写时必须保持子类声明的方法格式与父类定义的方法保持一致,通过方法名称来匹配
4.如果子类在方法上添加不同的参数,系统会判定当前这个方法是一个新方法,此时在进行方法的重载
5.如果我们子类重写父类方法的时候,使用idea的提示功能让系统帮我们生成重写方法的时候会出现@Override,
  是为了增强编译性的,@Override下的方法 父类必须有,如果没有就报错
6.如果子类要使用父类的成员方法,使用super关键字进行 调用,格式为 super.方法名称(方法参数);
7.如果你既要保留使用父类原有的功能,又想进行功能扩展,那么可以在方法重写内容首先执行
  super.成员方法名称

备注:

  • 如果在进行方法重写时,你修改了父类原有的方法参数(参数个数、参数类型、参数顺序),系统会判定这是一个新方法,此时我们实际上进行方法的重载而不是方法重写
  • 如果在进行方法重写时,你修改的不是方法参数,而是方法的修饰符和返回值类型,此时系统判定这是同一个方法,同一个方法是不能定义的,此时是一个非法操作