java继承

java三大特征:封装、继承、多态
封装:对象代表什么就得封装什么样的数据,并提供数据对应的行为。

继承

java 中提供了一个extends关键字,用这个关键字可以让一个类和另外一个类建立起继承关系

public class Studebt extends Person(){
}

例如上段代码中,Student类就叫子类(派生类),Person就叫父类(超类或者基类)

使用继承的好处

  • 可以把多个子类中的重复代码抽取到父类当中,减少代码冗余,提高代码的复用性
  • 子类可以在父类的基础上,增加其他的功能,使子类更加强大。

继承需要学习:自己设计 、使用别人的

什么时候使用继承:当类与类之间存在相同(共性)的内容,并满足子类是父类中的一种,就可以考虑用继承来优化代码

java继承的特点:

  • 单继承:一个子类只能继承一个父类
  • 不支持多继承:子类不能同事继承多个父类
  • 多层继承:子类A继承父类B,父类B可以继承父类C(C是A的间接父类)
  • Object:所有类的直接父类或者间接父类

子类能继承父类中的哪些东西:

  • 构造方法: 构造方法不能被继承,非私有和私有都不能被继承(原因:父类的构造方法如果能继承,构造方法的名字,和子类的名字不一样)
  • 注意:如果父类中的方法属性的修饰符是private,那么子类将无法调用
  • 成员变量:不管是非私有还是私有,子类都可以继承,私有能继承但是不能使用(如果一定要用 可以使用get,set方法)
  • 成员方法:非私有可以被继承,私有不可以被继承,如果

继承如何调用成员变量:

  • 继承中访问成员变量采用就近原则。
    先在局部位置找,本类成员位置找,父类成员位置找,逐级往上找。
    如果局部、本类、父类中有相同的变量名:局部直接调用,本类用this. ,父类用super.

重写

  • 当父类的方法不能满足子类现在的需求的时候,需要进行方法的重写。
  • 重写需要@override注解去校验子类重写时的语法是否正确。

注意事项:

  • 重写的方法名,形参列表必须和父类中的一致
  • 子类重写父类的方法的时候,访问权限必须子类大于父类(protected
  • 子类重写父类,返回值类型子类必须小于父类
  • 重写的方法尽量和父类保持一致
  • 私有方法不能被重写
  • 子类不能重写父类的静态方法,如果重写会报错。

你可能感兴趣的:(java,开发语言)