Java面向对象------继承

版权声明:欢迎转载 https://blog.csdn.net/qq_37875585/article/details/88102060

继承

  1. 生活中的继承: 继承财产(不劳而获)。
  2. 软件中的继承:
    1. 子类可以继承(获得)父类中的属性和方法。
    2. 子类无需声明就可以获得父类中的属性和方法。
    3. 利用“泛化”实现继承!泛化是指,将子类中共同的属性和方法抽取到父类中的过程。 父类的设计思路是:通过“泛化”方法将子类的属性和方法抽取到父类中。所以在面向对象设计中,是先有子类再抽象出父类的。
    4. 继承语法:
      1. 使用extends实现继承
      2. 被继承者是父类(超类 Super class)中的属性和方法被子类继承
      3. 继承者是子类(Sub class)
      4. Java 是单继承语言
        1. 一个类只能继承于一个父类
        2. 一个父类可以有多个子类
      5. 如果没有父类,则自动继承于 Object 类型。
        1. 类最终继承于Object

继承中的构造器

  1. 构造器不能继承!
  2. 子类一定调用父类构造器
    1. 如果父类中没有无参数构造器,默认调用时候子类中会出现编译错误。一般在父类中定义无参数构造器加以解决。
  3. 一般将子类中公共的属性初始化逻辑封装到父类中,子类利用super()方法调用这个构造器,达到复用构造器逻辑的目的。
  4. super() 用于子类调用父类构造器
    1. 默认情况下,编译器自动添加 super(),自动调用服务无参数构造器
    2. 使用super(参数)调用父类中有参数构造器,达到复用构造器的目的
    3. super() 只能在子类构造器中使用,只能写在第一行。
  5. 设计的思路是: 将父类属性的初始化写在父类中,由子类调用,这样就可以复用逻辑,消除冗余的初始化代码。

方法的继承

子类可以继承父类的中的方法,可以将子类的公共方法定义到父类中,减少子类中的冗余代码

猜你喜欢

转载自blog.csdn.net/qq_37875585/article/details/88102060