#笔记#圣思园 JavaSE 第17讲——继承剖析

1.继承   inheritence

Java是单继承的,一个类只能从另一个类继承。

被继承的类叫父类、基类(base class)。

继承的类叫子类。

使用extends关键字

public class Child extends Parent-----------------------------|2、发现这个类继承了Parent,所以先去执行Parent这个类中的不带参数的构造方法

{                                                                                                   |                                                                                           |

    public Child()                                                                        |                                                                                           |

    {                                                                                               |                                                                                           |

        System.out.println("child");                                             |                                                                                           |

    }                                                                                               |                                                                                            |

    public static void main(String[] args)                               |                                                                                             |

    {                                                                                               |                                                                                             |

        Child child = new Child();--------------------1、执行Child这个类中,不带参数的构造方法                                  |

    }                                                                                                                                                                                             |

}                                                                                                                                                                                                 |

class Parent                                                                                                                                                                            |

{                                                                                                                                                                                                  |

    public Parent()----------------------------------------------------------------------------------------------------------------------------|3、

    {

        System.out.println("parent");

    }

}

2.当生成子类对象时,java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类对象,接下来再去调用子类的构造方法,生成子类对象。

即:Java 默认提供了一个机制,就是寻找父类不带参数的构造方法


要想生成子类对象,需要先生成父类对象,没有父类对象就没有子类对象


但是如果不想在父类重写不带参数的构造方法,可以使用关键字super,来改变这个机制

eg.   super(1)-----------------------------显式的告诉Java,要调用父类中接收整型参数的构造方法

3.super

super表示对父类对象的引用。

如果子类使用super()显式调用父类的某个构造方法,那么在执行的时候,就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法

与this一样,super也必须作为构造方法的第一条执行语句

4.关于继承的3点

(1)父类有的,子类也有

(2)父类没有的,子类可以增加

(3)父类有的,子类可以改变

5.关于继承的注意事项

(1)构造方法不能被继承(子类的构造方法就是子类的,父类的构造方法就是父类的)

(2)方法和属性可以被继承

(3)子类的构造方法隐式的调用父类不带参数的构造方法

(4)当父类没有不带参数的构造方法时,子类需要使用super来显示的调用父类的构造方法。super指对父类的引用

(5)super关键字必须是构造方法中的第一行语句

6.重写(覆写)——对方法的继承,子类把父类的方法覆盖掉

重写是子类与父类的方法返回类型一样、方法名称一样、参数一样,这样就说子类与父类的方法构成了重写关系

7.方法重载与方法重写之间的关系:

重载发生在同一个类内部的两个或多个方法

重写发生在父类和子类之间。重写一定伴随着继承发生

8.当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的run()方法,其中super.run()不必放在第一行语句,因为此时父类对象已经构造完毕,先调用父类的run()方法还是先调用子类的run()方法,是根据程序逻辑决定的

9.在定义一个类的时候,如果没有显示指定该类的父类,那么该类就会继承于java.lang.object类(JDK提供的一个类,object类是Java中所有类的直接或间接父类)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值