JAVA学习——基础部分——面向对象——继承

一、概念(自我理解)

将一堆子类进行总结,将都有的相同点抽象成父类,由父类形成大体,然后子类丰富父类。

继承类不可以多继承,JAVA是单继承类。

父类还可以往上加分别是:子类——父类——父类的父类——·········——最高时抽象类

可以用这句话判断:“A is a B”若是这个成立那么就可以形成继承关系。

父类也叫超类,基类。子类也叫派生类。

子类对象创建的时候先调用父类的构造器,默认是无参构造器。这样就需要一个关键字:super。

这个放在方法的第一句,用来继承父类的构造方法。This Super不能共同出现在同一个地点。

二、子类创建的过程(实行顺序)

父类静态代码块

子类静态代码快

父类实例构造器

父类构造器

子类实例构造器

子类构造器

三、注意事项

子类继承父类,但是只是继承属性和方法。构造方法不会被继承,但是可以调用。

私有成员也不会被继承

四、继承的优缺点

优点:

  1. 节省了代码
  2. 增加了可修改性和可扩展性

缺点:

耦合性高

五、关于方法——方法的重写

大前提:这个是继承关系的子类。

重写就为了拓展方法的功能,增强父类。

重写的规则:子类方法签名和父类方法签名相同。(方法签名:访问修饰符 返回值 方法名()方法体改写)

  1. 方法名相同
  2. 参数列表相同
  3. 返回值是父类返回值的子类
  4. 访问权限不能严于父类

六、抽象类

概念(自我总结非书面):所有类里共同的特点,抽象程度高,若是创建成对象也没有什么用,所以这样需要这一个关键字:abstract,在class前加入。一旦有了这个关键字就不能实例化

用法:只定义,不实现。但是抽象类里可以有实现类,如果全是抽象方法那么就必须在子类里面实现。

有抽象方法的类一定是抽象类,抽象类里不一定有抽象方法。

猜你喜欢

转载自blog.csdn.net/rosemaryyoudu/article/details/81513111